• 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.对象.属性" />

          

  • 相关阅读:
    WordCount结对项目
    第一周作业:一些感想
    第一次作业
    Spring Cloud 微服务实战笔记
    解决jest处理es模块
    领域驱动设计(DDD:Domain-Driven Design)
    测试
    whistle
    日记(2018-11-07)
    ubuntu中使用机密数据Secrets
  • 原文地址:https://www.cnblogs.com/cowboys/p/5407172.html
Copyright © 2020-2023  润新知