我有两个目录,为了调试目的,它们的内容相同。一个标题为zxc
,另一个标题为welcome
。我正在尝试使用以下代码使我的操作使用 welcome
目录:
<action name="welcome">
<result>/welcome/welcome.jsp</result>
</action>
当我使用<result>/zxc/welcome.jsp</result>
时,页面显示成功。当我使用上述<result>/welcome/welcome.jsp</result>
时,我会得到error 404 - resource not found
.
编辑 1:
我也有这个动作,当 url 留空时,它基本上会重定向到 welcome
:
<action name="">
<result type="redirect">welcome</result>
</action>
编辑2:
支柱.xml配置:
<package name="website" namespace="/" extends="struts-default, json-default">
...
</package>
上述两个操作都位于此包中。
这应该是一个命名空间问题,解决方案是:
<action name="">
<result type="redirect">/welcome</result>
</action>
例:
如果URL是http://hostname/${contextPath}/something/something
,那么如果你重定向到welcome
,URL将看起来像这个http://hostname/${contextPath}/something//welcome/welcome.jsp
,指的是404
,如果你重定向到/welcome
,它应该被重定向到'http://hostname/${contextPath}/welcome/welcome.jsp'。
Important:
我不确定,您是否应该写下/welcome
,或使用<param name="namespace">/</param>
.我正在使用约定插件。试试吧。