Java 我无法将servlet的值放入JSP页面
我正在尝试验证用户的登录名和密码,如果未输入登录字段和密码,屏幕上将显示一条消息“请填写登录名或密码字段”,或者如果用户键入错误的用户名或密码,屏幕上将显示一条“不正确的登录名或密码”,但不会显示消息 为什么它不在jsp页面上显示消息Java 我无法将servlet的值放入JSP页面,java,jsp,servlets,jakarta-ee,Java,Jsp,Servlets,Jakarta Ee,我正在尝试验证用户的登录名和密码,如果未输入登录字段和密码,屏幕上将显示一条消息“请填写登录名或密码字段”,或者如果用户键入错误的用户名或密码,屏幕上将显示一条“不正确的登录名或密码”,但不会显示消息 为什么它不在jsp页面上显示消息 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String vazio="Por favor preencha os campos de login ou senha";
String incorretos="Login ou senha incorretos";
String login = request.getParameter("login");
String senha = request.getParameter("senha");
Cliente cli= new Cliente();
LoginDAO login2= new LoginDAO();
Cliente login_validacao=login2.validacaoLogin(login,senha);
if(login_validacao.getLogin()==null && login_validacao.getSenha()==null){
request.setAttribute("vazio", vazio);
}
else if(login_validacao.getLogin().equals(request.getParameter("login"))
& login_validacao.getSenha().equals((request.getParameter("senha")))){
RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");
rd.forward(request, response);
}
else{
request.setAttribute("incorreto", incorretos);
}
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="js/jquery-1.12.0.min.js" type="text/javascript"></script>
<script src="js/jquery.maskedinput.js" type="text/javascript"></script>
<script src="js/jquery.maskedinput.min.js" type="text/javascript">
</script>
<script src="bootstrap/bootstrap.min.js" type="text/javascript">
</script>
<script src="bootstrap/bootstrap.js" type="text/javascript"></script>
<link rel="stylesheet" href="bootstrap/bootstrap.css">
<link rel="stylesheet" href="css/css.css" type="text/css">
<link rel="stylesheet" href="css/font-awesome.min.css" type="text/css"/>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-
awesome.min.css" rel="stylesheet">
<title>JSP Page</title>
</head>
<body>
<div class="login-form">
<div class="row">
<div class="col-6 col-md-4"></div>
<div class="col-6 col-md-4">
<h2 id="AcesseConta"><span>Acesse sua Conta</span></h2>
<label for="vazio_resposta">${vazio}</label>
<label for="validacao">${incorreto}</label>
</div>
</div>
<div class="row">
<div class="col-6 col-md-4"></div>
<div class="col-6 col-md-4">
Login:<input type="text" id="login" name="login" ><br/><br/>
Senha:<input type="text" id="senha" name="senha" ><br/>
<a href="">Não é cadastrado?Cadastre-se</a><br/><br/>
</div>
</div>
<div class="row">
<div class="col-6 col-md-4"></div>
<div class="col-6 col-md-4">
<div id="teste"></div>
<button type="button" onclick="login()" >Entrar</button> <button
type="button" onclick="" >Esqueceu a Senha?</button>
</div>
</div>
</div>
</body>
</html>
protectedvoiddopost(HttpServletRequest请求,HttpServletResponse响应)
抛出ServletException、IOException{
String vazio=“Por favor preencha os campos de login ou senha”;
String incorretos=“Login ou senha incorretos”;
字符串login=request.getParameter(“login”);
字符串senha=request.getParameter(“senha”);
Cliente cli=新的Cliente();
LoginDAO login2=新LoginDAO();
Cliente login_validacao=login2.validacaogin(login,senha);
if(login_validacao.getLogin()==null&&login_validacao.getSenha()==null){
setAttribute(“vazio”,vazio);
}
else if(login_validacao.getLogin().equals(request.getParameter(“login”))
&login_validacao.getSenha().equals((request.getParameter(“senha”))){
RequestDispatcher rd=request.getRequestDispatcher(“/index.jsp”);
转发(请求、响应);
}
否则{
setAttribute(“incorreto”,incorretos);
}
}
JSP页面
苏阿康塔酒店
${vazio}
${inccorreto}
登录:
森哈:
你是一个什么样的人?
不必使用Controller/Servlet验证HTML表单,您可以在HTML中使用“REQUIRED”标记,如下所示
Login:<input type="text" id="login" name="login" Required><br/><br/>
Senha:<input type="text" id="senha" name="senha" Required><br/>
用于JSP
<c:if test="${!empty vazio}">
<p style="color:red;" align="center">${param.vazio}</p>
</c:if>
${param.vazio}
你忘了问一个问题(:-)我现在问了,兄弟。我想也许${incorreto.incorretos}
元素中的表达式应该是${incorreto}
。我更改了它,只放了${incorreto},但仍然没有在页面上显示消息它应该是${incorreto}
,在$
和{
之间没有空格。。。
<c:if test="${!empty vazio}">
<p style="color:red;" align="center">${param.vazio}</p>
</c:if>