Struts2 struts.xml中的动作重定向

Struts2 struts.xml中的动作重定向,struts2,Struts2,我可以从struts操作中重定向到另一个操作吗?因此,一个操作的结果是另一个操作,即-这里是struts.xml的一个片段 <action name="newRedirect" > <result>formsearch</result> </action> <action name="formsearch" class="com.event.action.SearchForm" method=

我可以从struts操作中重定向到另一个操作吗?因此,一个操作的结果是另一个操作,即-这里是struts.xml的一个片段

    <action name="newRedirect" >
        <result>formsearch</result>
    </action>

    <action name="formsearch" class="com.event.action.SearchForm"
    method="execute">
        <result name="success">/form.jsp</result>
    </action>

formsearch
/form.jsp

谢谢

是的。你可以重定向,也可以链接。重定向从头开始,就像您第一次调用另一个操作,而chain将值保留在值堆栈上,并添加新操作的变量

转发:

<action name="newRedirect" >
    <result type="redirect">/formsearch.action</result>
</action>

/formsearch.action
连锁:

<action name="newRedirect" >
    <result type="chain">formsearch</result>
</action>

formsearch
为了方便起见,可以将重定向结果类型更改为“redirectAction”结果类型。。。让我们写下:

 <action name="newRedirect" >
    <result type="redirectAction">formsearch</result>
</action>

formsearch
最后一个可能就是你想要的

现在有一个警告,链接/动作重定向与“goto”语句一起出现。不是邪恶的,但容易滥用,您可能应该考虑移动决定逻辑(决定将多个操作调用到拦截器的逻辑),或者如果该逻辑主要与设置相关,则由actions prepare方法调用的某种类型的实用程序类(或直接进入prepare方法)。。。如果在调用prepare之前操作需要参数,则使用paramspreparamsstack