0
これを行うには、より良い方法があると思います。あなたが知っていれば教えてください。セッションリフレッシュセッション変数の変更
マイログインページには、ユーザー名、パスワード、ログインボタンがあります。私はちょうどログインが失敗した場合、入力パスワードの下にメッセージを表示したい。
私の問題は、ログイン権が得られるまでメッセージがそこに残ることです。 ページを閉じてもう一度開くと、メッセージが表示されます。これで、メッセージが消えるようにページを更新するときに変数を消去したいだけです。
HTML:
<body>
<div class="container">
<div class="row">
<div class="wrap-login col-md-4 col-md-offset-4">
<h2 style="margin-bottom: 20px;">ATP Login</h2>
<form action="Login" method="post">
<label>Username</label>
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input id="username" type="text" class="form-control" name="username" placeholder="Username">
</div>
<label style="margin-top: 15px;">Password</label>
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
<input id="password" type="password" class="form-control" name="password" placeholder="Password">
</div>
<%
if(session.getAttribute("loginSuccessful") != null && session.getAttribute("loginSuccessful") == "false") {
%>
<div class="alert alert-danger" style="margin-top: 10px;">
<strong>Wrong username and password combination.</strong> Please, check your login information and try again.
</div>
<%
}
%>
<button type="submit" class="btn btn-default login-btn" >Login</button>
</form>
</div>
</div>
</div>
</body>
はJAVA:
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
HttpSession session = request.getSession();
//Check login
Boolean successful = CheckLogin(username,password);
if (successful) {
response.sendRedirect("Environments.jsp");
}
else {
session.setAttribute("loginSuccessful","false");
response.sendRedirect("index.jsp");
}
}
jspで 'request.getAttribute(" loginSuccessful ")= null'が表示され、メッセージが表示されません –
@ xasdasサーブレットコードでどのように設定していますか? – jingx
@ xasdasまあまあ、私はあなたが 'sendRedirect'を使っているのを見ました。その場合、リクエストスコープは機能しません。 – jingx