我的问题是:
换句话说,对于每个新请求,都会创建一个新的操作对象。这是否意味着每次创建新的动作对象时,都会创建一个新的ActionContext和ValueStack?
动作1
因此,当请求action1时,将创建一个新的action1对象以及相应的ActionContext和ValueStack。
从view.jsp (单击超链接)向action2发出一个新的请求。
这是否意味着先前的ActionContext和ValueStack (与action1相关)被销毁,并创建了一个新的ActionContext和ValueStack (用于action2)?
发布于 2012-04-24 11:00:48
3.是的,如果你想在下一个行动中获得这些数据,使用链(不受暗示)。
发布于 2012-04-24 10:53:59
Q1。只有一个ActionContext,只有一个ValueStack。
Q2。
这是否意味着先前的ActionContext和ValueStack (与action1相关)被销毁,并创建了一个新的ActionContext和ValueStack (用于action2)?
不是的。
Q3。我不明白这个问题。我认为缺少的是对ThreadLocal的认识,因此尽管每个线程都有一个ActionContext,但是每个线程都能够有自己的变量,这些变量是该线程的本地变量,因此ValueStack的操作范围是这样维护的。
https://stackoverflow.com/questions/10296108
复制相似问题