zoukankan      html  css  js  c++  java
  • Struts2值栈分析

    值栈分为Stack  、ContextMap两部分




    valueStack  push对象
    在debug里查看   是以属性键值得方式出现


    valueStack  put对象
    在debug里查看   是以key-对象的方式出现


    根元素存放
    1. obj作为类的的数据成员
    2.valueStack.push(Obj)
    3.valueStack.getRoot.push(Obj)
    4.valueStack.getRoot.add(Obj)  
    5.valueStack.set(String,obj)  以key-value键值对的形式存放在根元素的Map中

    #3 4的区别在于 push是把valuestack中的值栈看成stack,入栈顶
                          add  是把valueStack中的值栈看成普通的List,放在列最后面
      
      
    非根元素存放
    1.放在pageContext、Request、session、ApplicationConext域中
    2.ActionContext.getContextMap().put(String,Obj)
    3.ActionContext.put(String,Obj

    #<s:property value="#request.xxx"> 可以取以上3种值。 因为request域中如果取不到,会去ContextMap中取




    EL表达式可以取根元素和非根元素的值,在取得时候不用作区分,只要根据S:debug中的键值按规则取即可
    原因:el表达式首先从pageContext、Request、session、ApplicationConext域中取,如果取不到就会去值栈中取
  • 相关阅读:
    做题总结
    关于SQLSERVER中用SQL语句查询的一些个人理解
    关于SQLSERVER联合查询一点看法
    C#中怎样实现序列化和反序列化
    java内部类的使用
    C#抽象类
    匿名类
    Foreach能够循环的本质
    C#索引器
    深入了解接口的使用
  • 原文地址:https://www.cnblogs.com/chenny3/p/10226195.html
Copyright © 2011-2022 走看看