OGNL是通常要结合Struts 2的标志一起使用,如<s:property value="xx" />
等。大家经常遇到的问题是#、%和$这三个符号的使用。
“#”主要有三种用途:
- 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:
名称 |
作用 |
例子 |
parameters |
包含当前HTTP请求参数的Map |
#parameters.id[0]作用相当于request.getParameter("id") |
request |
包含当前HttpServletRequest的属性(attribute)的Map |
#request.userName相当于request.getAttribute("userName") |
session |
包含当前HttpSession的属性(attribute)的Map |
#session.userName相当于session.getAttribute("userName") |
application |
包含当前应用的ServletContext的属性(attribute)的Map |
#application.userName相当于application.getAttribute("userName") |
attr |
用于按request > session > application顺序访问其属性(attribute) |
#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止 |
- 用于过滤和投影(projecting)集合,如books.{?#this.price<100}
;
- 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}
。
“%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。例如在Ognl.jsp中加入以下代码:
<
hr
/>
<
h3
>
%的用途
</
h3
>
<
p
><
s:url
value
="#foobar['foo1']"
/></
p
>
<
p
><
s:url
value
="%{#foobar['foo1']}"
/></
p
>
“$”有两个主要的用途
- 用于在国际化资源文件中,引用OGNL表达式,例子请参考《在Struts 2.0中国际化(i18n)您的应用程序
》
- 在Struts 2配置文件中,引用OGNL表达式,如
<
action
name
="AddPhoto"
class
="addPhoto"
>
<
interceptor-ref
name
="fileUploadStack"
/>
<
result
type
="redirect"
>
ListPhotos.action?albumId=${albumId}
</
result
>
</
action
>
分享到:
相关推荐
NULL 博文链接:https://hezhou-0521.iteye.com/blog/777463
struts2 中 OGNL表达式的使用struts2 中 OGNL表达式的使用
本资源适合刚接触Struts和Ognl的小伙伴交流学习,欢迎吐槽。
Struts2学习计划5---Struts2_OGNL(对象图导航语言)的学习
从官网checkout下来的源码,如果大家觉的区官网麻烦可以直接下载这个
struts2的ognl
Struts2中ognl-2的源代码,从官网下载的
OGNL是通常要结合Struts 2的标志一起使用,如等。大家经常遇到的问题是#、%和$这三个符号的使用。下面我想通过例子讲述这个问题: 首先新建名为Struts2_OGNL的Web工程,配置开发环境。之前很多朋友在使用Struts 2的...
有对struts2标签和OGNL的总结。
struts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_...
关于struts2中ognl的说明、原理及使用,对于初学者进阶是个不错的参考
struts2 OGNL,struts2 表达式语言,Struts2 中OGNL表达式的用法,Struts2 #,表达式语言的好处,Struts2 $,struts2 井号,星号,百分号
Struts2的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在元素中使用user.username来获取用户的名字,这是通过...
java的Struts中的OGNL标签的使用,详细介绍,比较实用。
ognl与struts2_ognl
Struts2 的OGNL使用简介实例 博文链接:https://zmx.iteye.com/blog/553748
struts2-OGNL表达式测试代码
struts2 OGNL的主要用法 基本覆盖全部
NULL 博文链接:https://chaoyi.iteye.com/blog/2158731
struts2和ognl的一些知识,struts2中文教程,中文帮助文档