struts2中ognl(Object Graph Navigation Laguage)的使用

文章轉載自http://honly-java.iteye.com/blog/1608139

一,訪問普通的屬性和方法

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

<s:property value="name"/>

 

2,訪問值棧中對象的普通屬性(get set方法)

user.xxx只有傳,纔會構造,

想初始化domain model,

可以自己new,User=new User();Use u = new User(9);

也可以傳參數值,?user.age=9

但這時候需要保持參數爲空的構造方法public User(){......}

<s:propery value="user.age"/>

 

3,訪問值棧中對象的普通方法  password.length()

 

4,訪問值棧中對象的普通方法  cat.miaomaio()

 

5,訪問值棧中action的普通方法  m()

 

二,訪問靜態的屬性和方法

 

1,訪問靜態的屬性

@類名.@屬性

 

2,訪問靜態的方法

@類名.@方法名

 

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

<s:property value="@@max(2,3)" />

 

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

訪問普通類的構造方法:<s:property value="new com.struts2.ognl.dao.User(8)"/>

 

四,訪問集合類

 

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

訪問List中某個元素:<s:property value="users[1]"/><br/>

訪問List中元素某個屬性的集合:<s:property value="users.{name}"/><br/>

訪問List中元素某個屬性的集合中的特定值:

<s:property value="users.{name}[0]"/> | <s:property value="users[0].name"/><br/>

訪問Set:<s:property value="dogs"/><br/>

訪問Set中某個元素:<s:property value="dogs[1]"/><br/>

訪問Map:<s:property value="dogMap"/><br/>

訪問Map中某個元素:<s:property value="dogMap.dog101"/> | <s:property value="dogMap['dog101']"/> | <s:property value="dogMap[\"dog101\"]"/><br/>

訪問Map中所有的key:<s:property value="dogMap.keys"/><br/>

訪問Map中所有的value:<s:property value="dogMap.values"/><br/>

訪問容器的大小:<s:property value="dogMap.size()"/> | <s:property value="users.size"/> <br/>

 

五,投影(過濾)

 

投影(過濾):<s:property value="users.{?#this.age==1}[0]"/>

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

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

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


六,通過[]訪問

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

<s:property value="[0].user.name"/>

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