0

ログインモーダルがあります。モーダル (ブートストラップ) フォームは、すべての JSP に含まれる header.jsp の一部です。ユーザーが間違ったユーザー名/パスワードを入力した場合、アクションエラーメッセージをモーダルに戻すにはどうすればよいですか?

Struts.xml

<action name="authenticate" method="login"
       class="app.resumerepo.in.action.LoginAction">
    <interceptor-ref name="loginCheck" />
    <result name="success" type="redirect">myaccount.action</result>
    <result name="input"> </result>
    <result name="error">/jsp/common/error.jsp</result>
</action>

結果の「入力」について、ログインモーダルにアクションエラーメッセージを表示するために何を言及する必要がありますか?

4

2 に答える 2

1
  1. loginCheck単一の Interceptor ではなく、Interceptor スタックであることを確認してください。後者の場合、Interceptor を内部に含むカスタム Interceptor スタックを作成するか、Interceptor と同様loginCheckの両方を宣言します。defaultStack

    <action name="authenticate" method="login"
           class="app.resumerepo.in.action.LoginAction">
        <interceptor-ref name="loginCheck"   />
        <interceptor-ref name="defaultStack" />
        ...
    
  2. あなたのコードでは、ログイン ページに到達した方法が示されていません。ところで、あなたが求めているように機能させるには、input結果を構成して、元の JSP ページを返すだけです。

    <result name="input">login.jsp</result>
    

    役立つかもしれないこの例を見てください。

于 2014-10-31T09:38:20.003 に答える
0

インターセプター部分を修正し、ログイン失敗時に、同じモーダルを呼び出している login_error.jsp にリダイレクトします。期待どおりに動作します。

                    <%@page session="false"%>
                    <%@taglib uri="/struts-tags" prefix="s"%>
                    <%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
                    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                    <html>
                    <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
                    <title>Insert title here</title>

                    </head>
                    <body style="background-color:#FFF;">
                       <script type="text/javascript">
                        $('#myModal').modal('show'); 
                       </script>

                    </body>
                    </html> 
于 2014-10-31T09:49:32.900 に答える