index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Myservlet" method="post">
<input type="submit">
<input type="hidden" name="choose" value="1">
</form>
<%request.setAttribute("name", "chenxuan"); %>
<%out.println(request.getAttribute("name")); %>
</body>
</html>
Myservlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("name:" + request.getAttribute("name"));
request.setAttribute("request", "servlet");
response.sendRedirect("test.jsp");
}
test.jsp
<body>
<%out.print("request:"+request.getAttribute("request")); %>
http://bbs.csdn.net/topics/90285448
http://blog.csdn.net/zzs_index/article/details/38495791
Myservlet.java 中获取到的值为空,test.jsp获取到的值也为孔, reques的作用域不是一次请求嘛?为什么会获取不到啊?
别想太多,直接用Session吧,这个可以,重定向了
http://blog.csdn.net/rockstar541/article/details/7768461
看看这篇文章,有提到,你用response.sendRedirect 是拿不到原来页面放在request域中的值的。你可以用
getservletcontext().getrequestdispatcher(url).forward(request,response)试试
看一下后台request是否set 属性值