您的位置:首页 > 编程语言 > Java开发

009——struts2的OGNL

2016-08-07 19:03 197 查看
OGNL主要有三个符号:#,%,$

"#"声明OGNL表达式

#是Struts2标签中最常用的符号。#有三种用途

(1)能够访问OGNL上下文与ActionContext资源,相当于ActionContext.个体Context()。常用的"#"属性如下



(2)用于过滤或筛选集合,例如:books.{?#this.price<20},表示所有的price<20的书。

(3)构造Map,如#{'fool':"bar1", 'fool2':"bar2"}

"%"显式声明OGNL表达式

%用于表示某字符串为一个OGNL表达式。某些标签中既能接受字符串,又能接受OGNL表达式。这时候,标有%的被当做OGNL表达式并被执行,没有标有%的被当做普通的字符串,例如

<struts:label label="#request.account" /><!-- 参数作为普通字符串 -->

<struts:label label="%{#request.account}" /><!-- 用%表示参数为OGNL -->

第一行代码会输出字符串request.account,第二行代码会输出request的account属性值

"$”在资源文件中引用OGNL表达式

$主要用于在资源国际化文件中或者struts.zml中引用OGNL表达式,例如:

Resources.properties:

validation.require=${getText(fileName)} is required

struts.xml::

<action name="AddPhoto" class="addPhoto">

<result type="redirect">ListPhotos.action?albumId=${album|Id}</result>

</action>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: