无线&移动互联网技术研发

换位思考·····
posts - 19, comments - 53, trackbacks - 0, articles - 283
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

OGNL功用!!!

Posted on 2010-09-08 20:34 Gavin.lee 阅读(471) 评论(0)  编辑  收藏 所属分类: SSH2 --Struts2
 访问值栈中的action的普通属性:username = <s:property value="username"/>   

访问值栈中对象的普通属性(get set方法):

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

<s:property value="user['age']"/>

<s:property value="user[""age""]"/>

wrong: <%--<s:property value="user[age]"/>--%>  

访问值栈中对象的普通属性(get set方法):

 <s:property value="cat.friend.name"/>  

访问值栈中对象的普通方法:<s:property value="password.length()"/>  

访问值栈中对象的普通方法:<s:property value="cat.miaomiao()" />  

访问值栈中action的普通方法:<s:property value="m()" />

访问静态方法:<s:property value="@com.bjsxt.struts2.ognl.S@s()"/>  

访问静态属性:<s:property value="@com.bjsxt.struts2.ognl.S@STR"/>  

访问Math类的静态方法:<s:property value="@@max(2,3)" />  

访问普通类的构造方法:

<s:property value="new com.bjsxt.struts2.ognl.User(8)"/>

访问List:<s:property value="users"/>  

访问List中某个元素:<s:property value="users[1]"/>  

访问List中元素某个属性的集合:<s:property value="users.{age}"/>  

访问List中元素某个属性的集合中的特定值:

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

<s:property value="users[0].age"/>  

访问Set:<s:property value="dogs"/>  

访问Set中某个元素:<s:property value="dogs[1]"/>

<!--set是没有顺序的,所以取下标值是没有意义的-->  

访问Map:<s:property value="dogMap"/>  

访问Map中某个元素:<s:property value="dogMap.dog101"/>

<s:property value="dogMap['dog101']"/>

<s:property value="dogMap[""dog101""]"/><!--取出key为dog101的值-->  

访问Map中所有的key:<s:property value="dogMap.keys"/>  

访问Map中所有的value:<s:property value="dogMap.values"/>  

访问容器的大小:<s:property value="dogMap.size()"/>

<s:property value="users.size"/> <!--不加ku9ohao也可以访问-->

投影(过滤):<s:property value="users.{?#this.age==1}[0]"/><!--格式固定,this指循环过程中的每一个对象。取出users里age等于1的集合里面的第一个元素-->  

投影:<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"/><!--查看age>1的user的age是否为空-->

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

<!--指value stack栈顶的那个Action,因为action在栈顶。0值value stack从上往下数的第几0个元素 -->  

<!--[0]代表action的位置,而不是action那个对象,[0]代表从0往下数到栈底的对象的集合。-->  

<!--[0].username,如果有多个action,在第一个action里找不到[0].username,会往下找-->  


只有注册用户登录后才能发表评论。


网站导航: