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