0

在我的 struts.xml (包名称是website)中,我有一个包含到子 xml 的内容:

<include file="child.xml"/>

action我的struts.xml 中也有一个欢迎词:

<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默认会转到 URL 而不是/welcome. 因此,如果可能的话,我需要一种方法来action在 child.xml 的定义中转义它。

4

1 回答 1

3

RedirectAction结果可以有 Struts2 定义的 2 个特定参数。其中一个是actionName,另一个是namespace。那么,如果你想在你的包内重定向到它在命名空间之外的一个动作,你必须把以下内容放在你的child.xml

<action name="whatever">
    <result type="redirectAction">
        <param name="actionName">welcome</param>
        <param name="namespace">/</param>
    </result>
</action>

redirectAction 您可以在此处查看与结果类型相关的所有文档。您有一个完整的示例,说明如何在页面底部重定向到不同的命名空间。

于 2012-08-31T16:14:18.373 回答