2012-08-08 138 views
0

我有两个目录,两个目录的调试目的相同。一个标题为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:

我也有这个动作,这将基本重定向到welcome当URL留空:

<action name=""> 
    <result type="redirect">welcome</result> 
</action> 

编辑2:

支柱。 xml配置:

<package name="website" namespace="/" extends="struts-default, json-default"> 
    ... 
</package> 

上述两个操作均位于此包中。

+0

你到底想要做什么..? – 2012-08-08 09:26:20

+0

对不起,可能会理解缓慢,但我仍然不确定你在这里遇到了什么确切的问题。你可以简单地映射这个URL,并成功,这是默认情况下它将去'welcome/welcome.jsp' :) – 2012-08-08 09:33:14

+0

你想该路径如下所示出现在URL中:'example.org/welcome/welcome.jsp'? – Pigueiras 2012-08-08 09:34:43

回答

0

这应该是一个命名空间的问题,解决的办法是:

<action name=""> 
    <result type="redirect">/welcome</result> 
</action> 

例如:

如果URL http://hostname/${contextPath}/something/something,然后如果你重定向到welcome,网址看起来会像这样http://hostname/${contextPath}/something//welcome/welcome.jsp,这指的是404,如果您重定向到/welcome,则应将其重定向到'http://主机名/ $ {contextPath} /welcome/welcome.jsp'。

Important:我不确定,如果您应该记下/welcome或使用<param name="namespace">/</param>。我使用的是常规插件。试试吧。

+0

谢谢。尽管这种行为完美无缺。没有关于它需要改变,除了上面提到的'type' ...问题是与其他动作:' /welcome/welcome.jsp ' – ThreaT 2012-08-08 14:26:14

+0

嗨,有你试过我的解决方案。我知道其他行动有问题,但我自己尝试过,应该是对的。 – Jaiwo99 2012-08-08 14:33:36