struts框架值栈问题三之值栈的创建和ActionContext对象的关系

3. 问题三 : 值栈对象的创建,ValueStack 和 ActionContext 是什么关系?
    * 值栈对象是请求时创建的
    * ActionContext是绑定到当前的线程上(一个Action访问下来是一个线程,action使用的是同一个上下文,所以ActionContext是绑定到当前集合上的),那么在每个拦截器或者Action中获取到的ActionContext是同一个。
    * ActionContext中存在一个Map集合,该Map集合和ValueStack的context是同一个地址。
    * ActionContext中可以获取到ValueStack的引用,以后再开发,使用ActionContext来获取到值栈对象
所以ActionContext操作map集合中的数据时,可以等价的认为是操作context中的数据;反之,当我们操作context中的数据时,也可以认为是在操作ActionContext中的map集合。所以上下文与值栈可以互相引用。
当创建Action的时候,会创建ActionContext和ValueStack。ActionContext中有一个map集合,ValueStack中有一个context。map集合与context是同一块地址,所以操作map就相当于操作context,操作context就相当于操作map。

ActionContext与ValueStack还可以互相得到。

转载于:https://www.cnblogs.com/wyhluckdog/p/10124470.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值