Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java struts2转义命名空间定义_Java_Struts2 - Fatal编程技术网

Java struts2转义命名空间定义

Java struts2转义命名空间定义,java,struts2,Java,Struts2,在我的struts.xml(包名为网站)中,我对子xml有一个包含: <include file="child.xml"/> My child.xml扩展了struts.xml: <action name="welcome"> <result>welcome.jsp</result> </action> <package name="child" namespace="/child" extends="website

在我的struts.xml(包名为
网站
)中,我对子xml有一个包含:

<include file="child.xml"/>
My child.xml扩展了struts.xml:

<action name="welcome">
     <result>welcome.jsp</result>
</action>
<package name="child" namespace="/child" extends="website">

我认为它不起作用的原因是,默认情况下,它将转到URL
/child/welcome
,而不仅仅是
/welcome
。因此,如果可能的话,我需要在child.xml中的
操作
定义中转义此操作。

重定向操作
结果可以有两个由Struts2定义的特定参数。其中一个是
actionName
,另一个是
namespace
。因此,如果要在包内部重定向到位于命名空间之外的操作,则必须在
child.xml
中添加以下内容:

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

。在页面底部有一个如何重定向到不同名称空间的完整示例。

RedirectAction
结果可以有两个由Struts2定义的特定参数。其中一个是
actionName
,另一个是
namespace
。因此,如果要在包内部重定向到位于命名空间之外的操作,则必须在
child.xml
中添加以下内容:

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

。您在页面底部有一个完整的示例,说明如何重定向到不同的名称空间。

您是否尝试过welcome/
刚刚尝试过。它仍然尝试转到
/child/welcome
而不是仅仅
/welcome
。您是否使用有效的操作名称进行了尝试?您的根命名空间是否命名为
“/”
?您是否尝试过欢迎/
,刚刚尝试过。它仍然尝试转到
/child/welcome
而不是仅仅
/welcome
。您是否使用有效的操作名称进行了尝试?您的根命名空间是否命名为
“/”