• ValueStack


    值栈是每一次请求对象的轻量级数据中心

    每一次请求都会创建一个ValueStack,ValueStack封装该次请求的数据信息

    (1)ValueStack是一个接口

    (2)ValueStack贯穿整个Action的生命周期(一次请求),每个Action实例都有ValueStack对象,ValueStack相当于是中转站,ValueStack封装了请求的信息和Action对象的其他相关信息

    (3)获取ValueStack:通过ActionContext对象

    ValueStack vs = ActionContext.getContext().getValueStack();

    (4)ValueStack里有两个重要的属性:

    root:表示栈的数据结构(后进先出) ,ArrayList类型     (一般单个对象放入root)

    context:上下文 , Map类型  (一般集合放入context)

    root:主要用来存储Action中的信息

    context:主要用来存储映射关系的信息

    context存在对root对象的引用,所以拿到context就可以拿到root

    context中还存在request,session,application,attr,paramerters等对象的引用

    拿到context就可以拿到ValueStack里的所有数据

    从root中获取数据 直接使用属性名猎取, <s:property value = "属性名"/>

    从context中获取数据,#key  <s:property value="#key">

    ..把数据放入到root中  : 在Action中提供一个可访问的属性(getter方法)

    ..把数据放入到context中:ActionContex.put(String name , Object value) 

  • 相关阅读:
    有序矩阵中的第 k 个最小数组和
    查找和最小的K对数字
    前 K 个高频元素
    621. 任务调度器
    407. 接雨水 II
    c语言表达式求值 中缀表达式转后缀表达式 求值
    42. 接雨水
    MySQL高级特性——绑定变量
    MySQL高级特性之分区表
    MySQL优化特定类型的查询
  • 原文地址:https://www.cnblogs.com/Girlir/p/8985331.html
Copyright © 2020-2023  润新知