在我的struts.xml中(包名是website
)我有一个包含给孩子xml:
<include file="child.xml"/>
我的struts.xml中也有一个欢迎action
:
<action name="welcome">
<result>welcome.jsp</result>
</action>
我的child.xml扩展了struts.xml:
<package name="child" namespace="/child" extends="website">
接下来我要做的是在我的child.xml中创建一个重定向到welcome
操作的操作。到目前为止,我的child.xml中有以下内容,但它不起作用:
<action name="">
<result type="redirectAction">welcome</result>
</action>
我认为它不起作用的原因是因为默认情况下它会转到网址/child/welcome
,而不仅仅是/welcome
。所以如果可能的话,我需要一种方法来在child.xml中的action
定义中转义它。
答案 0 :(得分:3)
RedirectAction
结果可以有两个由Struts2定义的特定参数。其中一个是actionName
,另一个是namespace
。那么,如果你想在你的包内重定向到一个位于命名空间之外的动作,你必须将以下内容放在你的child.xml
中:
<action name="whatever">
<result type="redirectAction">
<param name="actionName">welcome</param>
<param name="namespace">/</param>
</result>
</action>
您可以查看与结果类型redirectAction
here相关的所有文档。您有一个完整的示例,说明如何重定向到页面底部的不同命名空间。