2014-02-20 45 views
2

此处之后的代码某些部分从login.jsp的在登录页面显示错误消息登录失败

的login.jsp

  <h2 class="swd-postheader">Login</h2> 
       <form method="post" action="Login.select"> 
       <p><input id="username" name= "username" type="text" placeholder="Username" style="margin:10px" autofocus required></p> 
       <p> <input id="password" name="password" type="password" placeholder="Password" style="margin:10px" required></p> 
       <p><input class="swd-button" type="submit" value="Sign In"> 
        <a href="register.html"><button class="swd-button" type="button">New User</button></a> 
       </p> 
       </form> 
       <h2><%=request.getAttribute("errorMessage") %></h2> 
      </div> 
     </div> 

在servlet代码,如果用户简化版,存在我“M使用的RequestDispatcher与错误味精

的servlet

if(res.next()) 
     { 
       if ((thisname.equals(res.getString("username"))) && (thispwd.equals(res.getString("password")))) 
       { 
        session.setAttribute("username", request.getParameter("username")); 
        response.sendRedirect("login-success.html"); 
       } 
       else{ 
        session.invalidate(); 
        request.setAttribute("errorMessage", "Invalid user or password"); 
        RequestDispatcher rd = request.getRequestDispatcher("/login.jsp"); 
        rd.forward(request, response);   
       } 

但事情是<h2><%=request.getAttribute("errorMessage") %></h2>运行时,无论何时登录jsp打开,当页面没有失败时返回null。只有当失败发生时,它显示“无效的用户名或密码”。所以我想检查request.getAttribute( “errorMessage”)为空。是不是然后调用<h2><%=request.getAttribute("errorMessage") %></h2>。我该怎么做?或者是有既然你已经在你的JSP使用scriptlet的一种更好的方式

+0

这里的例子jsp运行时就像h2中的静态html一样,只有在提交完成后才给出返回h2值的条件。发布完整的jsp和servlet将有助于解决您的问题。 – user2423959

回答

4

,你可以使用:

<% 
    if(null!=request.getAttribute("errorMessage")) 
    { 
     out.println(request.getAttribute("errorMessage")); 
    } 
%> 

这将是更好,如果你去JSTL:

<c:if test="${not empty errorMessage}"> 
    <c:out value="${errorMessage}"/> 
</c:if> 

要了解更多关于这些$ {}的东西(Expression Language,这是一个与JSTL不同的主题),check here

+0

谢谢Zeeshan。作品完美。正是我需要的。 – Coder17

+0

@ user1069186,欢迎你 – Zeeshan

+0

即使我给出'null!=',页面也会抛出空指针异常 – user1407668