0

Dologin アクションへの POST 後のアクションを 2 つのアクションのいずれかにリダイレクトしようとしています。リダイレクト先のアクションを反映する 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>
4

2 に答える 2

0

私はあなたがここで言及したことをテストしました、そしてそれはブラウザのURLを反映します。ajaxリクエストを使用している場合、URLに変更は表示されません。htmlフレームも使用している場合は、これを確認できます。

この結果タイプはブラウザのURLをリダイレクトすることがドキュメントに記載されており、これは実際に発生します。以下のドキュメントを参照してください。

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

于 2011-11-14T05:15:59.347 に答える
0

FWIW、この動作を再現することはできません。

パッケージ構成を DRY アップすることもできます。

<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>
于 2011-11-11T18:19:07.477 に答える