zoukankan      html  css  js  c++  java
  • struts2--值栈

      值栈是对应每一个请求对象的轻量级的数据存储中心,在这里统一管理着数据,供Action、Result、Interceptor等Struts2的其他部分使用,这样数据被集中管理起来而不凌乱。当有请求的时候,Struts2会为每个请求创建一个新的值栈,也就是说,栈和请求是一一对应的,不同的请求,值栈也不一样,而值栈封装了一次请求所有需要操作的相关的数据。

      值栈(ValueStack):包括对象栈(ObjectStack)和ContextMap

      对象栈(ObjectStack):把Action相关的对象放入其中,本质就是个数据结构意义上的栈

      Map栈(ContextMap):实际上是ActionContext的一个引用,(把各种属性(或对象)的映射关系放入其中),主要有

                  requestMap,sessionMap,applicationMap,parametersMap            

      利用<s:property>标签和OGNLB表达式来读取值栈中属性值

        对于对象栈:获取对象栈中某个对象的属性值

          读取对象的属性:object.propertyname(object 用[n]表示,n代表从栈顶开始搜索的第n+1个对象)

          例如<s:property value="[0].message" /> 表示栈顶对象的属性,此时栈顶对象可以省略不写,变成<s:property value=“message" />

             <s:property value="[1].message" />表示栈的第2 个对象的属性

        对于Map栈:读取Map栈的属性

          <s:property value="#session.对象.属性" />

          

  • 相关阅读:
    springMVC:HandlerInterceptor拦截器的使用
    SpringMVC:JSON形式输出(基于Fastjson)
    Callable接口解析
    FastJson一些常见方法(API):处理JSON变得好简单
    Spring@Autowired注解
    一些错误和解决办法--01
    线程池的原理及实现
    Rotate Image(二位数组顺时针旋转)
    JAVA内部类
    jdk9模块化--特性
  • 原文地址:https://www.cnblogs.com/cowboys/p/5407172.html
Copyright © 2011-2022 走看看