码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2学习之路(六)—— OGNL表达式

时间:2015-07-18 22:44:50      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

OGNL全称为Object-Graph Navigation Language,可译为对象图导航语言。此处介绍的OGNL表达式内容,仅限于在struts2标签中应用,形式如下:

<s:property value="xxx" />

以下为列举的一些应用形式:

1.访问值栈中action的普通属性:

<s:property value="username" />

2.访问值栈中对象的属性(setter getter方法):

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

3.访问值栈中action的普通方法:

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

4.访问值栈中对象的普通方法:

<s:property value="password.length()"/>
<s:property value="cat.miaomiao()"/>

5.访问静态方法:

<s:property value="@com.ognl.S@s()"/>

静态属性:

 <s:property value="@com.ognl.S@STR"/>

Math类静态方法:

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

6.访问普通类的构造方法:

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

7.访问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" />

8.访问set:

<s:property value="dogs" />

注意set是无序的,以下方式并不能取到值

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

9.访问Map中某一元素:

<s:property value="dogMap.dog10" />
<s:property value="dogMap[‘dog10‘]"/>
<s:property value="dogMap[\"dog10\"]"/>

Map中所有key或value:

<s:property value="dogMap.key" />
<s:property value="dogMap.value" />

10.投影:

<s:property value="users.{?#this.age==1}.{age}"/>
<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"/>

 

Struts2学习之路(六)—— OGNL表达式

标签:

原文地址:http://www.cnblogs.com/denisechen/p/4657424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!