亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

struts2中#,%,$用法區別?

struts2中#,%,$用法區別?

DIEA 2018-10-29 09:05:56
struts2中#,%,$用法區別?
查看完整描述

1 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

 #、%和$符號在OGNL表達式中經常出現.1.#符號的用途一般有三種。1)訪問非根對象屬性,例如示例中的#session.msg表達式,由于Struts 2中值棧被視為根對象,所以訪問其他非根對象時,需要加#前綴。實際上,#相當于ActionContext. getContext();#session.msg表達式相當于ActionContext.getContext().getSession(). getAttribute(”msg”) 。2)用于過濾和投影(projecting)集合,如示例中的persons.{?#this.age>20}。3)用來構造Map,例如示例中的#{’foo1′:’bar1′, ’foo2′:’bar2′}。 (2)%符號%符號的用途是在標志的屬性為字符串類型時,計算OGNL表達式的值。
  在Struts 2框架的各種配置文件(validation.xml或struts.xml)中引用OGNL表達式,例如下面的代碼片斷所示:<validators><field name=”intb”><field-validator type=”int”><param name=”min”>10</param><param name=”max”>100</param><message>BAction-test校驗:數字必須為${min}為${max}之間!</message> //其值則上面的參數</field-validator></field></validators> (4) <h2><s:text name="HelloWorld"/></h2> <h2><s:property value="%{getText('HelloWorld')}"/></h2>上面的例子用了兩種方法來顯示國際化字符串,其輸出是相同的。其實,這就是Struts 2.0的一個優勢,因為它默認支持EL,所示我們可以用getText方法來簡潔地取得國際化字符串。另外更普遍的情況——在使用UI表單標志時, getText可以用來設置label屬性。

查看完整回答
反對 回復 2018-11-14
  • 1 回答
  • 0 關注
  • 586 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號