两个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中数据 - 如果用session,程序太慢,存在效率问题。
基础问题:
- 所有再页面提交的数据,在ACTION里只能通过request.getParameter( or values).
- 要想通过attribute传输数据,必须保持在同一个request中,不论中转了几次(forward)。