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域中取,如果取不到就会去值栈中取
  • 相关阅读:
    C编译: 动态连接库 (.so文件)
    C调Lua
    gcc -l参数和-L参数
    Lua和C之间的交互
    c语言 struct 的初始化
    Ubuntu下,清屏等终端常用命令
    Luci流程分析(openwrt下)
    Ubuntu下轻松安装virtualbox
    luci范例
    luci框架-LUA的一个web框架使用
  • 原文地址:https://www.cnblogs.com/chenny3/p/10226195.html
Copyright © 2011-2022 走看看