struts2 s:property 用法

1,訪問Action值棧中的普通屬性:

<s:property value="attrName"/>

2,訪問Action值棧中的對象屬性(要有get set方法):

<s:property value="obj.attrName"/>

<s:property value="obj1.obj2.attrName"/>

3,訪問值棧中對象屬性的方法

<s:property value="obj.methodName()"/>

4,訪問值棧中action的普通方法:

<s:property value="methodName()"/>

5,訪問靜態方法:

<s:property value="@com.softeem.LoginAction@methodName()"/>

6,訪問靜態屬性:

配置屬性文件,允許ognl訪問靜態方法struts.ognl.allow...=true

<s:property value="@com.softeem.LoginAction@attrName"/>

7,訪問Math類的靜態方法:

<s:property value="@@min(9,7)"/>

8,訪問普通類的構造方法:

<s:property value="new com.softeem.User(2)"/>

9,訪問集合:

①list集合對象

<s:property value="listName"/>

②list集合中的某個元素

<s:property value="listName[1]"/>

③list中某個屬性的集合

<s:property value="listName.{field}"/>

④list中某個屬性集合的特定值

<s:property value="listName.{field}[0]"/>

⑤訪問set

<s:property value="setName"/>

⑥訪問set中某個元素

<s:property value="setName[0]"/>

⑦訪問map

<s:property value="mapName"/>

⑧根據key訪問Map中的元素

<s:property value="mapName.username"/>

<s:property value="mapName['username']"/>

<s:property value="mapName[/"username/"]"/>

⑨訪問map中所有的key

<s:property value="mapName.keys"/>

10,訪問map中所有的values

<s:property value="mapName.values"/>

11,訪問map的大小

<s:property value="mapName.size()"/>

12,投影

<s:property value="listName.{?#this.age==1}"/>

<s:property value="listName.{^#this.age>1}"/>

<s:property value="listName.{$#this.age==1}"/>

<s:property value="listName.{$#this.age==1}.{age}==null"/>

[]:<s:property value="[0]"/>值棧中的對象





---------------------------------------

訪問action中傳過來的對象:<s:property value="user"/>|${user }<br>

訪問action中傳過來的對象中的屬性:<s:property value="user.username"/>|${user.username }<br>

訪問action中傳過來的對象屬性類中的方法:<s:property value="user.getUsername()"/><br>

訪問action中傳過來的對象中的對象:<s:property value="user.group"/><br>

訪問action中傳過來的對象中的對象的屬性:<s:property value="user.group.gname"/> |

<s:property value="user.group.getGname()"/><br>

訪問action中的普通方法:<s:property value="getValue()"/><br>

訪問其他類中過的靜態方法:<s:property value="@com.softeem.pojos.User@printUser()"/><br>

取到Math類中的方法:<s:property value="@@max(12,45)"/><br>

訪問User類的構造方法:<s:property value="new com.softeem.pojos.User()"/><br>

訪問list:<s:property value="users"/><br>

獲取list的長度:<s:property value="users.size()"/><br>

取到list中第一個元素:<s:property value="users.get(0)"/>|<s:property value="users[1]"/><br>

取到list中username屬性的集合:<s:property value="users.{username}"/><br>

根據key取到map中的元素:<s:property value="userMap.張三"/>|

<s:property value="userMap['三毛']"/><br>

⑨訪問map中所有的key:<s:property value="userMap.keys"/><br>

10,訪問map中所有的values:<s:property value="userMap.values"/><br>

11,訪問map的大小:<s:property value="userMap.size()"/><br>

12,投影:<s:property value="users.{?#this.username=='張三'}.{password}"/><br>

13,取到list中滿足條件的開頭的一個元素的密碼:<s:property value="users.{?#this.username='張三'}.{password}[0]"/><br>

14,取到list中滿足條件的最後的一個元素的密碼:<s:property value="users.{$#this.username='張三'}.{password}"/><br>

15,<s:property value="users.{$#this.username=='admin'}.{group}==null"/><br>

16,從棧頂開始取,一直取到指定的位置(0表示棧底):<s:property value="[1]"/>

<s:debug></s:debug>
發佈了122 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章