struts2 对EL的改变

Posted 阿肯新

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2 对EL的改变相关的知识,希望对你有一定的参考价值。

Struts2对EL的改变

      1、Struts2中使用EL的问题:

                   前提:

                     我们应该知道,如果我们没有往值栈(根)中放入数据的话,那么我们的动作类默认是在值栈的栈顶

      2、关于EL问题的分析:

            分析:

          我们知道EL表达式是从四大域对象中依次查找属性。搜索范围是由小到大。page Scope————>request Scope

      ————>sessionScope————>application Scope

          但是通过测试发现,搜索完request范围后就没有继续搜索,而是返回了ValueStack中栈顶对象name属性的值。

 

      3、Struts2中EL查找顺序改变总结:

                            EL表达式: page Scope————>request Scope————>sessionScope————>application Scope

                     OGNL表达式:page Scope————>request Scope————>valueStack(根中)————>contextMap————>sessionScope————>application Scope

      4、OGNL的特殊说明:

                         

                            注意:以下内容知道即可。

        当不带#号的OGNL表达式在valueStack中没有找到对应的属性时,

        会在ActionContext中来寻找同名键值

                                  

以上是关于struts2 对EL的改变的主要内容,如果未能解决你的问题,请参考以下文章

struts2什么情况用#和EL表达示

Struts2 OGNL概述

Struts2OGNLValueStack

OGNL和EL表达式对比 Struts2标签和JSTL对比

Struts2-从值栈中获取数据-EL表达式从值栈获取

Struts2---OGNL表达式和EL表达式