1

これは大きな問題だと思われるかもしれませんが、私には理由が見つからない単純な問題があるかもしれません。

「index.jsp」というjspページに、アクション名が「loginAction」のフォーム(簡易ログイン)があります。アクション クラスでは、execute()メソッドはユーザー名とパスワードが有効かどうかをチェックします。有効なログインであれば、execute() メソッドは SUCCESS を返し、WEB-INF 内の「jsp」というフォルダにある「account.jsp」という別の jsp ページに転送されます。

問題は、struts.xml がすべての有効なログインを関連する URL に転送することですが、ページ (account.jsp) を取得できません。ブラウザは 404 エラーを返します。ブラウザのアドレスバーに手動で。するとページが表示されます!!!
ここに struts.xml ファイルがあります

<struts>

<include file="/struts_auth.xml" />
<package name="default" extends="struts-default" >

    <action name="login" >
        <result>index.jsp</result>
    </action>        
    <action name="loginAction" class="com.app.action.LoginAction">
        <result name="success">/auth/acc</result>    
        <result name="input">index.jsp</result>
    </action>

</package>

struts_auth.xml上記の struts.xml に含まれるファイルは次 のとおりです。

<struts>

<package name="author" extends="default" namespace="/auth" >

    <action name="acc">
        <result name="success">/WEB-INF/jsp/account.jsp</result>  
        <result name="input">index.jsp</result>
    </action>   

</package>

これが理由としてブラウザが言うことですが、
description: The requested resource (/app/auth/acc) is not available. この URL (http://localhost:8084/app/auth/acc) をブラウザのアドレス バーにコピーしただけでは、実際のページが表示されます。私の問題がどこにあるか教えてください。

4

2 に答える 2

3

理解を深めるには、次のリンクを参照してください。別のアクションにリダイレクトする方法

  <!-- Redirect to another namespace -->
    <result name="success" type="redirectAction">
        <param name="actionName">acc</param>
        <param name="namespace">/auth</param>
    </result>
于 2012-06-23T07:51:06.863 に答える
1

ここに問題があります。<result name="success">/auth/acc</result>. ノードに型名が指定されていない場合、struts2 自体がディスパッチャーをデフォルトの型として設定します。コードを次のように変更できます <result name="success" type="redirectAction"> <param name="actionName">actionName</param> <param name="namespace">namespace</param>

于 2012-06-23T13:32:10.180 に答える