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

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集合

 

posted @ 2013-04-08 22:07  -1  阅读(1140)  评论(0编辑  收藏  举报