【问题标题】:Action redirect in struts.xmlstruts.xml 中的动作重定向
【发布时间】:2011-02-10 11:38:52
【问题描述】:

我可以从 struts 动作中重定向到另一个动作吗?所以一个动作的结果是另一个动作,即 - 这里是 struts.xml 的 sn-p

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

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

谢谢

【问题讨论】:

    标签: struts2


    【解决方案1】:

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

    转发:

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

    到链:

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

    为方便起见,可以将重定向结果类型更改为“redirectAction”结果类型......这让我们可以编写:

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

    这最后一个可能是你想要的。

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

    【讨论】:

      猜你喜欢
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      • 2018-10-17
      相关资源
      最近更新 更多