ValueStack对象概述

ValueStack对象概述

ValueStack 是 Struts 的一个接口,字面意义为值栈

OgnlValueStackValueStack 的实现类,客户端发起一个请求 struts2 架构会创建一个action 实例同时创建一个OgnlValueStack 值栈实例,
OgnlValueStack贯穿整个 Action 的生命周期

请求访问的时候会加载三个东西:
1. ActionContext
2. ContextMap
3. ValueStack的实现类OgnlValueStack

它是 ContextMap 中的一部分,里面的结构是一个 List,是我们可以快速访问数据一个容器。它
的封装是由struts2 框架完成的。

通常情况下我们是从页面上获取数据。它实现了栈的特性(先进后出)

ValueStack的内部结构

在 OnglValueStack 中包含了一个 CompoundRoot 的对象,该对象继承了 ArrayList,并且提供了只能
操作集合第一个元素的方法,所以我们说它实现了栈的特性。

同时,它里面定义了一个 ContextMap的引用,也就是说,我们有值栈对象,也可以通过值栈来获取ContextMap

ContextMap中存有ValueStack,ValueStack中存有ContextMap,方便我们使用

image

image

简单来说
  • ValueStack是一个List结构
  • 通过压栈方式存数据
  • 通过struts2标签的ognl表达式根据Property Name获取值栈对应的数据,使用OGNL表达式
  • ValueStack存了ContextMap的引用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值