EL表达式和Ognl表达式,取数据的区别

EL与Ognl表达式解析
本文介绍了EL表达式和Ognl表达式在不同环境下的查询顺序及使用方式。EL表达式按作用域查询数据,而Ognl表达式则通过ActionContext获取数据。此外,还对比了两者在Struts2框架中的应用区别。

EL表达式和Ognl表达式,取数据的区别

11.1、一般的EL表达式:${}查询变量的顺序为:

1,当前域,即作用域

2,page  , request , session  , application(从小到大,没有返回null

 ${}可以写在jsp页面的任何位置,包括字符串中

 

11.2、使用了Struts2后,在JSP中写的EL表达式(${})查询变量的顺序为:

1,作用域  ,当前域

2,值栈,ValueStack

3,ActionContext中的map集合  :

包括: request , session , application ,parameters ,attr集合,还

有ActionContext本身的集合 。这里面的查询顺序我就不知道

 

                ${}可以在jsp中,也可以在xml文件中(如在struts.xml文件里)

 

11.3、Strut2中,jsp,ognl表达式必须使用#key来取数据,

且必须指定根对象,如#session[‘age’],表示到ActionContext持有的Session域中取数据

不加#号,默认是到值栈中去取。

如:<s:property  value=”name” >,意思是:#valuestack.name

可详细参考Struts2笔记中的ognl表达式

Ognl表达式遇到字符串,需要使用%{}转义

 

11.4、Ognl表达式取的数据都在ActionContext这个map集合中去

Ognl表达式必须使用#key来取数据。这个#就表示ActionContext这个map集合

 

转载于:https://www.cnblogs.com/wzhBlog/archive/2013/04/08/3009006.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值