2012-07-06 89 views
0

我已經開發了一個登錄頁面,其中用戶ID和最小密碼長度驗證由JavaScript完成,並且我有一個連接到數據庫並驗證用戶的servlet 。有人可以告訴我如何驗證失敗時在同一登錄頁面顯示一條消息嗎? (應顯示錯誤消息的地方在這個頁面的HTML)如果使用JavaScript登錄失敗,如何在登錄頁面顯示消息

回答

1

發送登錄的標誌值從你的servlet這樣的失敗。

request.setAttribute("loginResult", true); 

現在在JSP中獲取此值。它的默認值是false。如果它的真實然後顯示錯誤信息。

<% 
    if(request.getAttribute("loginResult") != null && request.getAttribute("loginResult") == "true"){ 
%> 
<p style="color:red"> Login Failed. Please try again. </p> 
<% 
} 
%> 

對於Javascript調用一個函數來顯示錯誤,而不是從我的上面的代碼<p style="color:red"> Login Failed. Please try again. </p>

+0

在servlet中req.setAttribute(「loginResult」,true)操作後,我應該將請求轉發回JSP頁面嗎?像這樣: 'RequestDispatcher rd = req.getRequestDispatcher(「login.jsp」); rd.forward(req,response);' – NurShomik 2016-01-14 18:50:08

+0

這工作。謝謝! – NurShomik 2016-01-19 20:03:31

0
if(/*something fails*/){ 
    alert("Login fails!"); 
} 
+1

謝謝大家的幫助 – VBJ 2012-07-07 05:09:42

1

HTML:

<span id="login_failed"></span> 

的JavaScript:

<script type="text/javascript"> 
var login_success = false; /* set this to true if the login was a success */ 

if(login_success == false) 
{ 
    document.getElementById("login_failed").innerHTML = "Login Failed."; 
} 
else 
{ 
    window.location = "http://www.yourpage.com/login_success.html"; 
} 
</script> 
0

打印的JavaScript中的Servlet。

  • 警報消息:

    System.out.println("<script>alert('Login fail.')</script>"); 
    
  • 重定向到重新登錄頁面:

    System.out.println("<script>window.location='loginUrl'</script>"); 
    
0
在web.xml

把這個

<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
    <form-login-page>/login.jsp</form-login-page> 
    <form-error-page>/login.jsp?loginerror=100</form-error-page> 
    </form-login-config> 
</login-config> 

現在在你的login.jsp把這個JavaScript來讀取loginerror PARAM並調用它ondocument.ready(的onload())

function gup() 
{ 
    var name = 'loginerror'; 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
    //here you don't have login errors 
    else 
    //here you have login error 
} 

享受

相關問題