0
這是我的LoginServlet類的代碼。爲什麼我在jsp中使用if語句時出現此錯誤?
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String userName = request.getParameter("username");
String password = request.getParameter("password");
boolean loginFailed;
User user = null;
user = loginService.getUser(userName);
if(user != null && user.getPassword().equals(password)){
userType = loginService.getUserType(user).getUser_type();
if(userType.equals(USER_TYPE_CUSTOMER)){
HttpSession session = request.getSession();
session.setAttribute("username", user.getUsername());
response.sendRedirect("home_customer.jsp");
}else{
}
}else{
loginFailed = true;
request.setAttribute("username", userName);
request.setAttribute("loginFailed", loginFailed);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/login.jsp");
dispatcher.forward(request, response);
}
}
我有布爾名爲loginFailed。當用戶沒有帳戶時,它將被賦予真值。我在我的jsp頁面中做了一個代碼來檢查這個變量。這是我的jsp代碼。
<body>
<div class="container container-table" id="login">
<div class="row vertical-center-row">
<div class="col-md-4 col-md-offset-4">
<div style="background-color: #297f56; padding: 15px; border-radius: 5%;">
<h1 style="text-align: center; color: white;">JJ STORE</h1>
<% Boolean loginFailed = (Boolean) request.getAttribute("loginFailed");
if(loginFailed){
out.println("<div class='alert alert-warning'>Warning! Dont submit this.</div>");
}%>
<form action="processLogin" method="post">
<div class="form-group" >
<label for="email" style="color: white;">Username:</label>
<input type="text" class="form-control" name="username" value="${username}">
</div>
<div class="form-group">
<label for="pwd" style="color: white;">Password:</label>
<input type="password" class="form-control" name="password">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</div>
</div>
</div>
我不知道這裏有什麼問題。我試着改變if區塊的條件,放入「true」並且代碼順利。但是,如果我把我從servlet獲得的布爾值,它會給我這個錯誤。
我在做什麼錯?
你的第一個建議解決了我的問題!這是我第一次遇到這個問題。順便說一下,我是一名實習生jr軟件工程師,其中一個給我的項目是以原始方式創建網站(使用servlet和jsp)。我不明白爲什麼我必須使用布爾代替布爾值(我從另一個答案中得到了這個)。無論如何,感謝哥們! – saluyotamazing