jsp与servlet跳转传值问题
程序员文章站
2022-04-17 11:30:52
...
自学了两周jsp来肝毕设的新人。
request.setCharacterEncoding("utf-8");
int id = Integer.parseInt(request.getParameter("uid"));
String pwd = request.getParameter("upwd");
teacherLogin login = new teacherLogin(id,pwd);
ITeacherService teacherService = new TeacherServiceImpl();
boolean rs = teacherService.teacherLoginOn(login);
if(!rs) {
request.setAttribute("error", "isError");
// response.sendRedirect("login.jsp");
request.getRequestDispatcher("login.jsp").forward(request, response);
}else {
request.setAttribute("error", "noError");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
```}
```go
<%
String error = (String) request.getAttribute("error");
if (error != null) {
if (error.equals("isError")) {
out.println("登陆失败请检查工号和密码");
}
}
%>
<form action="TeacherLoginServlet" method="post">
教师工号:<input type="text" name="uid"><br />
密码:<input type="password" name="upwd"><br />
<input type="submit" value="登陆"><br />
<a href="">没有账号?点这注册</a>
</form>
一开始用的注释中的response跳转,一直显示不出登陆失败的文字,后来换成请求转发,就能显示。
突然想起来,重定向是不带参数的。
如果要传值的话,还得用请求转发。