首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

struts2 ognl tags标签小结

2012-09-21 
struts2 ognl tags标签总结??OGNL要结合struts2标签来使用,下面是总结:1、“#”符号有三种用途:? (1) 得到上

struts2 ognl tags标签总结

?

?

OGNL要结合struts2标签来使用,下面是总结:

1、“#”符号有三种用途:

? (1) 得到上下文对象

? 名称作用例子

application

包含当前应用的ServletContext的属性(attribute)的Map #application.userName相当于application.getAttribute("userName")???? attr用于按 request > session > application 顺序访问其属性(attribute )#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止。

? (2) 用于过滤和投影(projecting)集合,如:?books.{?#this.price>35}?

??(3)构造Map,如:?#{'foo1':'bar1',?'foo2':'bar2'}?

????????

?? #{'foo1':'bar1',?'foo2':'bar2'}这种方式常用在给radio或select、checkbox等标签赋值上。如果要在页面中取一个??? map的值可以这样写:? ??

??

? <s:property?value="#myMap['foo1']"/>?? ??

??

? <s:property?value="#myMap['foo1']"/>

2. “%”符号的用途是在标签的属性值被理解为字符串类型时,告诉执行环境%{}里的是OGNL表达式。

??? 如:<s:set?name="myMap"?value="#{'key1':'value1','key2':'value2'}"/>???

???????????? <s:url?value="%{#myMap['key1']}"/>??

3、“$”有两种用途 ??

??

(1)、在国际化资源文件中,引用OGNL表达式。 ??

??

(2)、在Struts?2配置文件中,引用OGNL表达式:? ??

??

<action?name="saveUser"?class="userAction"?method="save"> ??

??

<result?type="redirect">listUser.action?msg=${msg}</result> ??

??

</action> ??

??

<action?name="saveUser"?class="userAction"?method="save">???? ??

??

<result?type="redirect">listUser.action?msg=${msg}</result> ??

??

</action>?

热点排行