首页 > 代码库 > struts2 对EL的改变

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的改变