欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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跳转,一直显示不出登陆失败的文字,后来换成请求转发,就能显示。
突然想起来,重定向是不带参数的。
如果要传值的话,还得用请求转发。


相关标签: jsp servlet