将请求链接到另一个命名空间上的struts操作

时间:2012-12-12 10:44:06

标签: java-ee struts2 struts struts-config

在我的struts应用程序中,我有两个名为' a'和' b'并定义了行动'流程'为每个命名空间。

现在,在某些情况下,我必须将请求与行动'流程'在命名空间' a'采取行动的过程'在命名空间' b'。但是我不知道如何在struts.xml中执行此操作。如何将这些请求链接到另一个命名空间?

我的struts配置如下所示:

<package name="testa" extends="struts-default, json-default" namespace="/a">
    <action name="process" class="com.khoinguyen.action.ProcessAction" method="handleResponseA">
        <result type="chain" name="return_b">
            <param name="actionName">b/process</param>
        </result>
        <result name="success">completea.jsp</result>
    </action>
</package>
<package name="testb" extends="struts-default, json-default" namespace="/b">
    <action name="process" class="com.khoinguyen.action.ProcessAction" method="handleResponseB">        
        <result name="success">completeb.jsp</result>
    </action>
</package>

2 个答案:

答案 0 :(得分:1)

<param name="namespace">类型结果中使用chain。您可以在Struts2 official documentation中查看有关此类型结果的官方文档,以查看有关此类型的详细信息。

在你的情况下:

<package name="testa" extends="struts-default, json-default" namespace="/a">
    <action name="process" class="com.khoinguyen.action.ProcessAction" method="handleResponseA">
        <result type="chain" name="return_b">
             <param name="namespace">/b</param>
             <param name="actionName">process</param>
        </result>
        <result name="success">completea.jsp</result>
    </action>
</package>

答案 1 :(得分:0)

请使用结果type="redirectAction"代替结果type="chain"