是否会为每个新的操作对象创建一个新的ActionContext和ValueStack?

时间:2011-09-25 11:16:11

标签: struts2 actioncontext

我的问题是:

1)在Struts2中,每个操作对象都有自己的对应ActionContextValueStack吗?

换句话说,对于每个新请求,都会创建一个新的操作对象。这是否意味着每次创建新的操作对象时,都会创建新的ActionContextValueStack

2)考虑这种情况:

Action1 ------ 1st req -------> view.jsp ------ 2nd req ---------> action2

因此,当针对action1发出请求时,将创建一个新的action1对象以及相应的ActionContextValueStack

从view.jsp(点击超链接时)新请求转到action2。

这是否意味着先前的ActionContextValueStack(与action1相关)被销毁,并且会创建新的ActionContextValueStack(针对action2)?

3)假设我在view.jsp中的ActionContext(action1)中存储了一些内容,然后单击action2的超链接(来自view.jsp),该数据将与ActionContext( action1)迷路了?

感谢。

1 个答案:

答案 0 :(得分:3)

为每个请求创建新的ActionContextValueStack。这通常意味着每个动作,但并不总是(在动作链接的情况下)。这些每请求对象在请求结束时超出范围。那时你存储的任何东西都会消失。