我尝试过此操作,但不显示仅重定向的消息 的的login.jsp
<form method="post" action="Login_Servlet" >
<input name="idUsuario" type="text"/>
<input name="password" type="password" />
<button type="submit">Entrar</button>
</form>
Login_Servlet
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String userid= request.getParameter("idUser");
String password = request.getParameter("password");
Login_Service login_Service = new Login_Service();
boolean result = login_Servicio.aut(userid, password);
Usuario user = login_Servicio.getUsuariosByUsuario(userid);
if(result == true){
request.getSession().setAttribute("user", user);
response.sendRedirect("vistas/Inicio.jsp");
}
else{
out.println("<script type=\"text/javascript\">");
out.println("alert('User or password incorrect');");
out.println("</script>");
response.sendRedirect("index.jsp");
}
是否可以显示此类消息?如果是这样我做错了?
答案 0 :(得分:12)
您可能会这样做:
else
{
out.println("<script type=\"text/javascript\">");
out.println("alert('User or password incorrect');");
out.println("location='index.jsp';");
out.println("</script>");
}
编辑:20 th 2018年3月,08:19 IST
OR ,不使用js
else {
out.println("<meta http-equiv='refresh' content='3;URL=index.jsp'>");//redirects after 3 seconds
out.println("<p style='color:red;'>User or password incorrect!</p>");
}
答案 1 :(得分:2)
您可以重定向到您的jsp,但传递要显示的消息:
request.setAttribute("loginError","Incorrect password");
然后在jsp:
<c:if test="${not empty loginError}">
<script>
window.addEventListener("load",function(){
alert("${loginError}");
}
</script>
</c:if>
非空语法允许检查是否存在参数
答案 2 :(得分:0)
从Servlet,正常地重定向到另一个jsp,并在jsp“onload”事件上调用一个javascript函数,它将为您提供所需的警报.....
答案 3 :(得分:0)
response.setContentType("text/html");
PrintWriter pw=response.getWriter();
pw.println("<script type=\"text/javascript\">");
pw.println("alert('Invalid Username or Password');");
pw.println("</script>");
RequestDispatcher rd=request.getRequestDispatcher("userlogin.jsp");
rd.include(request, response);