Struts 2将动态URL从动作传递到动作

时间:2012-03-30 02:13:41

标签: struts2

我需要将一些参数从动作A传递给动作B,参数在动作A中。动作B的URL将打印动作A的参数。因此流程为:

行动A

param1 = param1Val;
param2 = param2Val;
param3 = true;
param4 = 0;

在行动B中,网址为

ActionB?param1=param1Val&param2=param2Val&param3=true&param4=0;

我尝试了类似this

的内容

但它没有用。

我该怎么做才能让它开始工作?

1 个答案:

答案 0 :(得分:0)

您的问题不是很明确,但如果您想使用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的参数,并将在运行时替换为其值。 / p>

确保您在操作A中将那些参数传递给操作B,并使用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}