你的问题并不十分清楚,但如果你想使用redirectAction
将你的第一个动作的一些参数传递给第二个动作,你只需在第一个动作(动作A)中创建这些参数,同时配置第二个动作动作(动作B)你需要告诉您要S2这些参数传递到行动B.
<action name="a" class="ClassA">
<!-- Redirect to another namespace -->
<result type="redirectAction">
<param name="actionName">B</param>
<param name="param1">${param1}</param>
<param name="param2">${param2}</param>
// any other parameters
</result>
</action>
这里
关键概念是利用${param1}
通过在配置动态参数,这将看在以参数命名param1
在数值堆栈中,并将在运行时被其值替换。
确保你有这些参数,你想传递给你的动作B在你的动作A中有getter和setter,以便S2可以在运行时选择它们。
若你想通过在配置静态参数,所有你需要做的像
<action name="a" class="ClassA">
<!-- Redirect to another namespace -->
<result type="redirectAction">
<param name="actionName">B</param>
<param name="param1">param1</param>
<param name="param2">param2</param>
// any other parameters
</result>
</action>
不在这里参数被作为param1
过去了,没有${param1}
感谢Umesh制作, 我试着但它并没有真正的工作... 这里是复杂的部分... 我在这里要做的是实际上,行动B的结果实际上是一个链接,正在clicke因此,在行动A中,我有这样的href网址是这样的: ActionB?param1 = param1Val&param2 = param2Val&param3 = true&param4 = 0; 但是,所有这些参数: **参数1 = param1Val&参数2 = param2Val&参数3 =真param4 = 0; ** 传递到行动B. 所以,如果我用行动一个set方法之前,从动作A的设置,将我能够让他们进入行动B? – 2012-03-30 02:38:23
不,如果您使用'redirectAction',这些值将不会在您的操作B中可用,唯一的方法是将它们保存在会话中并在操作B中检索它们,或者将它们作为查询字符串传递给操作B并使用查询中的值行动中的字符串B. – 2012-03-30 02:41:27