Struts 2 - RedirectAction для обновления URL-адреса до перенаправленного действия - PullRequest
0 голосов
/ 11 ноября 2011

Я пытаюсь перенаправить действие после POST в действие Dologin на одно из двух действий. Я бы хотел, чтобы URL отражал действие, на которое я перенаправляю. Однако 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 голосов
/ 14 ноября 2011

Я проверил то, что вы упомянули здесь, и оно отражает URL в браузере Если вы используете ajax-запрос, вы не увидите изменения в URL. Вы можете убедиться в этом, если вы также используете html-фреймы.

В документации упоминается, что этот тип результата перенаправляет URL браузера, и это происходит. Пожалуйста, обратитесь к документу ниже:

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

0 голосов
/ 11 ноября 2011

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>
...