struts2中的OGNL一些用法补遗
2013-09-24 11:11
239 查看
1、如果Action里有一个字段user,然后jsp里提交user.name,则user的name字段会被自动赋值,但是实际上,User字段没有初始化过,为什么不会NPE呢
这是OGNL在幕后起的作用,user.name是一个OGNL表达式,当OGNL解析器在属性链上发现一个为NULL的属性时,它会尝试创建一个实例并赋值
对于开发者来说,只需要给这个类一个无参构造方法,并为此字段提供一个setter方法即可
2、OGNL表达式还可以用来直接创建List和Map
{1,2,3},这就创建了一个List
#{"key1":"value1","key2":"value2"},这就创建了一个Map
这种语法一般是用在jsp页面里
3、OGNL还可以使用操作符
比如${user.age + 1}
4、用来实现方法调用
<s:if test="page.hasNext()">
</s:if>
5、调用静态方法和字段
@com.huawei.test.Utils@someStaticMethod()
不过我认为这种写法是应该尽量避免的,除非有不得不这么做的理由
这是OGNL在幕后起的作用,user.name是一个OGNL表达式,当OGNL解析器在属性链上发现一个为NULL的属性时,它会尝试创建一个实例并赋值
对于开发者来说,只需要给这个类一个无参构造方法,并为此字段提供一个setter方法即可
2、OGNL表达式还可以用来直接创建List和Map
{1,2,3},这就创建了一个List
#{"key1":"value1","key2":"value2"},这就创建了一个Map
这种语法一般是用在jsp页面里
3、OGNL还可以使用操作符
比如${user.age + 1}
4、用来实现方法调用
<s:if test="page.hasNext()">
</s:if>
5、调用静态方法和字段
@com.huawei.test.Utils@someStaticMethod()
不过我认为这种写法是应该尽量避免的,除非有不得不这么做的理由
相关文章推荐
- Struts2 OGNL表达式 “% $ #”用法
- struts2中property标签结合OGNL的用法
- 参考网上的一些struts2的action用法,自己写了一个Demo记录一下。
- struts2的一些用法(一):struts2的配置
- struts2 Ognl用法(Ognl类的用法)
- struts标签的的一些基本用法(ognl)
- struts2(十一)OGNL表达式的基本语法和用法
- Struts2之Ognl用法
- Struts2 ognl中的#、%和$符号用法说明
- Struts2的OGNL的用法
- Struts2之Ognl用法
- 细谈struts2(十一)OGNL表达式的基本语法和用法
- Struts2之OGNL表达式中#,$,%的用法区别
- Struts2总结---OGNL表达式的基本语法和用法 (8)
- struts2中s:iterator 标签的使用详解 及 OGNL用法 (转载)
- struts2的一些用法(二):类型转换
- WEB Struts2 中OGNL的用法
- struts2的一些用法(三):3.拦截器的设置
- struts2中#,$,%的用法以及el,ognl表达式的用法
- .struts2中s:iterator 标签的使用详解 及 OGNL用法