OGNL 表達式

OGNL 表達式


  • ognl 表達式: 它可以訪問普通方法,s:property 它就類似於jsp 的表達式(在頁面上打印值)
    ${}
    <%= %>

<s:property value="OGNL-Expression"/> 

value 屬性中的內容不再是我們看到字符串,它是一個OGNL 表達式(!)
如果想要讓它變成一個普通的字符串,在值外面套上單引號

<s:property value="'OGNL-Expression'"/> 

  • 在struts.xml 中使用ognl 表達式${} 在括號中寫ognl 表達式

  • OGNL 訪問靜態屬性:@全類名@靜態屬性名稱
<s:property value="@java.lang.Integer@MAX_VALUE"/>

  • OGNL 訪問靜態方法:@全類名@靜態方法名,在struts2 框架中默認是禁用靜態方法調用的,我們可以通過在struts2 中配置開啓。
//在struts.xml 中添加
<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>

訪問靜態方法

<s:property value="@java.lang.Math@random()"/>

  • OGNL 和List
<s:radio name="gender" list="{'man','women'}" />

{}相當用創建了一個List集合,List屬性中的取值是一個OGNL 表達式


  • OGNL 和 map
<s:radio name="gender1" list="#{'1':'男','0':'女'}"/>

#{} 表示創建了一個map,寫法和json數據的格式相似(1爲Key ,’男’爲Value),值作爲Radio 到頁面顯示的內容,Key 做爲Radio 的Value


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章