我可以从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>
Run Code Online (Sandbox Code Playgroud)
谢谢
Qua*_*ion 22
是.你可以重定向,你可以链.重定向从头开始,就像你第一次调用另一个动作,而链保持值堆栈上的值并添加新动作的变量.
转发:
<action name="newRedirect" >
<result type="redirect">/formsearch.action</result>
</action>
Run Code Online (Sandbox Code Playgroud)
链:
<action name="newRedirect" >
<result type="chain">formsearch</result>
</action>
Run Code Online (Sandbox Code Playgroud)
为方便起见,可以将重定向结果类型更改为"redirectAction"结果类型...这样我们就可以编写:
<action name="newRedirect" >
<result type="redirectAction">formsearch</result>
</action>
Run Code Online (Sandbox Code Playgroud)
最后一个可能就是你想要的.
现在有一个警告,链接/动作重定向就在那里,带有"goto"语句.不是邪恶但容易被滥用,你可能应该考虑移动决定逻辑(确定要对拦截器调用几个动作的逻辑),或者逻辑是否主要与设置相关,然后由某些类型的实用程序类调用动作准备方法(或直接进入prepare方法)...如果在调用prepare之前动作需要参数,则使用paramsPrepareParamsStack.
| 归档时间: |
|
| 查看次数: |
30079 次 |
| 最近记录: |