日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

struts2的OGNL表达式(二)

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts2的OGNL表达式(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面說說OGNL表達式的訪問情況:

OGNL表達式能訪問:訪問屬性訪問方法訪問字體對象,訪問靜態屬性和方法,訪問構造方法,訪問數組訪問集合 – 投影、選擇(? ^ $)

1,OGNL輸出常量值

<s:property value="常量值"/>可以輸出字符串常量.

字符串常量(string literal)
? ? 以單引號或雙引號括起來的字符串,例如:‘Hello World’和”Hello World”.在JAVA中,不能用單引號來界定字符串常量,而在OGNL中是可以的。不過特別要注意的是:如果是單個字符的字符串常量,則必須使用雙引號來界定,例如:“S”。OGNL的字符串也支持轉義序列,例如:要在JSP頁面中輸出”You said ,”Hello World”.”,那么可以使用<s:property>標簽,如下:
<s:property value=“’You said,\”Hello World\”.’”/>
? ? ? 注意:不要忽略了用于界定整個常量字符串的單引號。如果沒有寫單引號,那么整個字符串將不會被看成是字符串常量,而是被當作根對象的屬性名,從而導致錯誤。
字符常量(Character literal)
? ? ?以單引號括起來的字符。例如,‘H’。注意,不能使用雙引號,否則將被看成是字符串常量。
數值常量(Numeric literal)
除了Java中的int,long,float,double外,OGNL還讓你用“B”或“b”后綴指定BigDecimal常量,用“H”或”h”后綴指定BigInteger常量,例如,123(int常量),123l(long常量),123.35f(float常量),123b(BigDecimal常量),123h(BigInteger常量)。


2,獲取Action中的屬性值或者Action中的對象的某某屬性值

注意這里的username是action中的屬性,user是action中的屬性對象,因為action是放在值棧中的所以不需要使用#字號訪問

訪問屬性:<s:property value="username"/> 訪問對象屬性(get和set):<s:property value="user.age"/> 訪問對象方法:<s:property value="user.getName()"/> 訪問對象屬性(get和set):<s:property value="employee.manager.name"/>


3,調用Action的對象里面的普通方法

? ? ? ?默認的會把Action放到值棧里面,而值棧在訪問的時候,并不需要值棧的名字
當我們調用<s:property value="user.getVOMethod()"/>的時候,它會自動到值棧里面查找Action對象里面有沒有user對象,然后它就發現有user,然后它就再找user里面有沒有getVOMethod()方法,然后它發現有,于是調用getVOMethod(),實際上調用User中的getVOMethod()方法的過程與獲取表單中的姓名密碼的方式都是相同的,都是到值棧里面查找,找是否存在user對象,如果存在,接著查找user中是否存在某某屬性或方法

訪問類對象的方法:<s:property value="employee.eat()"/>訪問action的方法:<s:property value="add()"/>

4,訪問Action中的靜態屬性和方法

以@開頭,后面跟上具體的包名,然后@加上靜態方法

<span style="font-size:24px;">比如<s:property value="@com.jadyer.action.LoginAction@getStatic()"/></span>

OGNL支持調用類中的靜態方法和靜態字段,格式如下:

@class@method(args)//調用靜態方法 @class@field//訪問靜態字段(public權限)

其中class必順給出完整的類名。例如:@java.lang.String@valueOf(5)。如果省略class,那么默認使用類是java.lang.Math

訪問靜態方法:<s:property value="@com.neusoft.ognl.StaticSample@ma()"/> 訪問靜態屬性:<s:property value="@com.neusoft.ognl.StaticSample@STR"/> 訪問Math靜態方法:<s:property value="@@max(4,7)"/>


5,訪問的構造方法

<span style="font-size:24px;">訪問構造方法:<s:property value="new com.neusoft.ognl.User(44)"/></span>

6,OGNL創建和訪問集合數組

a,OGNL創建集合

? ? 如果需要一個集合元素的時候(例如List對象或者Map對象),可以使用OGNL中同集合相關的表達式。可以使用如下代碼直接生成一個List對象

創建集合:<s:property value="{'a','b','c'}"/> <!--輸出結果為:[a,b,c]--> 集合類型:<s:property value="{'a','b','c'}.getClass().getName()"/><!--輸出類型名稱是java.util.ArrayList--> ? ? 如下代碼可以直接生成一個Map對象:

創建Map:<s:property value="#{'mm':'MM','nn':'NN'}"/>"<!--輸出結果為:{mm=MM,nn=NN}--> Map類型:<s:property value="#{'mm':'MM','nn':'NN'}.getClass().getName()"/><strong style="color: rgb(255, 0, 0);"> </strong><!--輸出類型名稱是java.util.LinkedHashMap-->

b,OGNL訪問集合

??

<li>訪問List:<s:property value="users"/> </li> <li>訪問List中某個元素:<s:property value="users[0]"/> </li> <li>訪問List中元素某個屬性的集合: <s:property value="users.{age}"/></li> <li>訪問List中元素某個屬性的集合中的特定值: <s:property value="users.{age}[0]"/>|<s:property value="users[0].age"/> </li> <li>訪問Set:<s:property value="managers"/></li> <li>訪問Set中某個元素:<s:property value="managers[0]"/></li><!-- 錯誤,無法根據下標訪問元素 --> <li>訪問Map:<s:property value="manMap"/></li> <li>訪問Map中某個元素:<s:property value="manMap.mm1"/>|<s:property value="manMap['mm1']"/>|<s:property value="manMap[\"mm1\"]"/></li> <li>訪問Map中所有的key:<s:property value="manMap.keys"/></li> <li>訪問Map中所有的value:<s:property value="manMap.values"/></li> <li>訪問容器的大小:<s:property value="manMap.size()"/></li><strong> </strong>
c,集合中的偽屬性

? ? OGNL能夠引用集合的一些特殊的屬性,這些屬性并不是JavaBeans模式,例如size(),length()等等. 當表達式引用這些屬性時,OGNL會調用相應的方法,這就是偽屬性.

總結

以上是生活随笔為你收集整理的struts2的OGNL表达式(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美亚洲一区二区在线观看 | 动漫美女无遮挡免费 | 另类专区欧美 | 亚洲不卡在线视频 | 15—16女人毛片 | 成人小说亚洲一区二区三区 | 欧美日韩一区二区在线 | 欧美生活一级片 | 三级精品在线 | 97avcc| 亚洲国产午夜 | 中文字幕人妻一区二区 | 96精品在线 | av一区二区在线播放 | 中文字幕日韩有码 | 欧美在线性爱视频 | 黄色美女免费网站 | 久久精品国产免费 | 新版天堂资源中文8在线 | 精品少妇人妻av免费久久洗澡 | 麻豆精品免费观看 | 日韩精品中文在线 | 96国产在线 | av免费国产 | 亲子乱aⅴ一区二区三区 | 国产精品12页 | 欧美mv日韩mv国产网站app | 日韩成人在线网站 | 久久久久a| 欧美日韩中文字幕 | 免费黄色国产 | 日韩成人高清视频在线观看 | 亚洲av激情无码专区在线播放 | 久久精品国产熟女亚洲AV麻豆 | 性工作者十日谈 | 最近日本中文字幕 | 亚洲中文一区二区 | 久久久涩| 久久午夜精品 | 亚洲乱码中文字幕久久孕妇黑人 | 综合色婷婷一区二区亚洲欧美国产 | 91网入口| 天天做日日做 | √8天堂资源地址中文在线 欧美精品在线一区二区 | 熊猫电影yy8y全部免费观看 | 中文字幕国产亚洲 | 四虎影院新网址 | 黑人一区二区三区 | 国产youjizz | 摸摸摸bbb毛毛毛片 午夜爽爽影院 | 五月天91| 在线观看网址你懂的 | 亚洲精品国产免费 | 熟妇高潮一区二区高潮 | 欧美激情国产日韩精品一区18 | 人妻无码久久精品人妻 | 国产免费播放 | 欧美色影院 | 日韩一区二区三区精 | 一本之道高清无码视频 | 日韩高清在线观看 | 极品丰满少妇 | 国产一极片 | 超碰96在线| 操天天操| 大香伊人 | www.好吊色 | 国产aa | 欧美午夜在线视频 | 深夜福利av | 91精品国产乱码久久 | av片免费在线 | 激情五月激情综合网 | 日韩黄色一级视频 | av免费观看入口 | 国产精品suv一区二区三区 | 国产精品久久久久无码av色戒 | 福利片在线播放 | 黄色视屏在线看 | 日韩久久精品视频 | 久久久精品日本 | 男生和女生靠逼视频 | 日本欧美另类 | 久久免费视频6 | 久久久永久久久人妻精品麻豆 | kendra lust free xxx | www.jizzcom| 国产无遮挡又黄又爽免费视频 | 国产污在线观看 | 国产精品不卡在线观看 | 精品国产一区在线观看 | www.av麻豆| 一区二区三区欧美 | 水蜜桃av在线 | 欧美视频一二三区 | 亚洲精品在线视频观看 | a在线免费| 五月天六月婷婷 | 懂色av蜜臀av粉嫩av分 |