2007年1月12日
两个jsp页面之间如何传递一个对象?比如一个List或者HashMap?
答:
用request.setAttribute("name",Object),request.getAttribute("name");
或者session.setAttribute("name",Object),session.getAttribute("name");
注意问题:
- 如果用request,要注意request的范围仅限于同一个request对象;如果使用了form的"action"或者response.sendRedirect("xxx.jsp")等调转,则不再是同一个request对象,即用request.getAttribute("name")将取不到值。
- 换成request.getRequestDispatcher("xxx.jsp").forward(request,response);
才能共享request中数据
基础问题:
1,所有再页面提交的数据,在ACTION里只能通过request.getParameter( or values).
2,要想通过attribute传输数据,必须保持在同一个request中,不论中转了几次(forward)。
另:参考资料:
请教一下关于request.setAttribute()的用法,谢谢.[急!在线等!]
http://www.blogjava.net/flysky19/admin/EditArticles.aspx
问题:
我在myServlet.java的doGet()中写道:
request.setAttribute("a","111");
response.sendRedirect("a.jsp");
我的doPost()方法是这样写的:
doGet(request, response);
我在a.jsp中写道:
String aValue="";
if(request.getAttribute("a")!=null){
aValue= String.valueOf(request.getAttribute("a"));
}
out.println(aValue);
可request.getAttribute("a")总是取不到值, 是我错误地使用了request.setAttribute()方法吗? 如果想让servlet给jsp页面传一些值应该通过什么方法呢? 谢谢~
解决:
response.sendRedirect("a.jsp");
换成
request.getRequestDispatcher("a.jsp").forward(request,response);
才能共享request中数据