Struts 2 - RedirectAction将Url更新为重定向的操作

时间:2011-11-11 18:01:02

标签: struts2 struts2-namespace

我正在尝试将POST后的操作重定向到Dologin操作到两个操作之一。我想将网址反映给我重定向的动作。但是,URL仍然保留在我发布的操作中,而不是重定向的操作。下面是Struts.xml部分 - 谢谢

<package name="mobile" namespace="/mobile" extends="struts-default"> 
    <action name="login">
        <result>/mobile/login.jsp</result>
    </action>

    <action name="home">
        <result>/mobile/home.jsp</result>
    </action>

    <action name="Dologin" class="action.LoginAction">
        <result name="success" type="redirectAction">
            <param name="namespace">/mobile</param>
            <param name="actionName">home</param>
        </result>

        <result name="input" type="redirectAction">
            <param name="namespace">/mobile</param>
            <param name="actionName">login</param>
        </result>
    </action>
</package>

2 个答案:

答案 0 :(得分:0)

FWIW,我无法重现这种行为。

您可能还想干掉您的包裹配置:

<package name="mobile" namespace="/mobile" extends="struts-default">
  <action name="login">
    <result>/mobile/login.jsp</result>
  </action>

  <action name="home">
    <result>/mobile/home.jsp</result>
  </action>

  <action name="Dologin" class="action.LoginAction">
    <result name="success" type="redirectAction">home</result>
    <result name="input" type="redirectAction">login</result>
  </action>
</package>

答案 1 :(得分:0)

我已经测试了你在这里提到的内容,它确实反映了浏览器上的url。如果您使用的是ajax请求,则不会在网址中看到更改。如果您也使用html框架,也可以验证这一点。

在文档中提到此结果类型重定向浏览器URL并且确实发生了这种情况。请参阅以下文件:

http://struts.apache.org/2.0.14/docs/redirect-action-result.html