request的setAttribute()怎么用的?

04-11-02 luowei

request.setAttribute()怎么用的?

JSP1代码

String [] test=new String[2];

test[0]="1";

test[1]="2";

request.setAttribute("test",test);

response.sendRedirect("jsp2.jsp");

JSP2代码

String test[]=(String[])request.getAttribute("test");

out.print(test);

为什么JSP2中会找不到test?

leema
2004-11-02 23:35

sendRedirect()方法是通过浏览器重定向的,所以第二个JSP页面中获得的request并非是前一个页面的request(两次请求生成了前后两个不同的request对象了)。

用RequestDispatcher接口的forward()方法试试看。

banq
2004-11-08 11:10

用来在同一个request周期中保存变量使用。比如servlet调用后,推出JSP页面,这是一个request周期,如果在Jsp页面需要servlet中的一些处理结构,就从request.getAttribute中获取。