2011-11-11 31 views
0

POST後にアクションをDologinアクションにリダイレクトしようとしています。私は、私がリダイレクトしている行動を反映するためのURLをとっています。ただし、リダイレクトされた操作ではなく、まだ投稿された操作にURLが残ります。Struts 2 - URLをリダイレクトされたアクションに更新するRedirectAction

<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> 
+0

:以下の文書を参照してください。 (また、無関係ですが、ネームスペース内でリダイレクトする場合はネームスペースを指定する必要はありません)。 –

+0

また、JSPを '/ WEB-INF'の下に置いて、直接アクセスを禁止することをお勧めします。 –

答えて

0

FWIWをありがとう、私はこの動作を再作成することはできません - 以下は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">home</result> 
    <result name="input" type="redirectAction">login</result> 
    </action> 
</package> 
0

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

ドキュメントでは、この結果の種類によってブラウザのURLがリダイレクトされることが記載されています。私は何を見ていることは可能であるかどうかはわかりません

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

関連する問題