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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

#、%和$符号在OGNL表达式中的作用

發(fā)布時(shí)間:2023/12/4 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 #、%和$符号在OGNL表达式中的作用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#、%和$符號(hào)在OGNL表達(dá)式中經(jīng)常出現(xiàn),而這三種符號(hào)也是開發(fā)者不容易掌握和理解的部分。在這里筆者簡(jiǎn)單介紹它們的相應(yīng)用途。

1.#符號(hào)的用途一般有三種。
?? 1)訪問(wèn)非根對(duì)象屬性,例如示例中的#session.msg表達(dá)式,由于Struts 2中值棧被視為根對(duì)象,所以訪問(wèn)其他非根對(duì)象時(shí),需要加#前綴。實(shí)際上,#相當(dāng)于ActionContext. getContext();#session.msg表達(dá)式相當(dāng)于ActionContext.getContext().getSession(). getAttribute(”msg”) 。
????2)用于過(guò)濾和投影(projecting)集合,如示例中的persons.{?#this.age>20}。
????3)用來(lái)構(gòu)造Map,例如示例中的#{'foo1':'bar1','foo2':'bar2'}。

2.%符號(hào)
%符號(hào)的用途是在標(biāo)志的屬性為字符串類型時(shí),計(jì)算OGNL表達(dá)式的值。如下面的代碼所示:
構(gòu)造Map
<s:set name="foobar" value="#{'foo1':'bar','foo2':'bar2'}" />

<p>The value of key "foo1" is <s:property value="#foobar['foo1']" /></p>

<p>不使用%:<s:url value="#foobar['foo1']" /></p>

<p>使用%:<s:url value="%{#foobar['foo1']}" /></p>

3.$符號(hào)
$符號(hào)主要有兩個(gè)方面的用途。

?? 在國(guó)際化資源文件中,引用OGNL表達(dá)式,例如國(guó)際化資源文件中的代碼:reg.agerange=國(guó)際化資源信息:年齡必須在${min}同${max}之間。

????在Struts 2框架的配置文件中引用OGNL表達(dá)式,例如下面的代碼片斷所示:
<validators>
????<field name=”intb”>
????????????<field-validator type=”int”>
????????????<param name=”min”>10</param>
????????????<param name=”max”>100</param>
????????????<message>BAction-test校驗(yàn):數(shù)字必須為${min}為${max}之間!</message>
????????</field-validator>
????</field>
</validators>

轉(zhuǎn)載于:https://www.cnblogs.com/writeLessDoMore/p/6788963.html

總結(jié)

以上是生活随笔為你收集整理的#、%和$符号在OGNL表达式中的作用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。