request.setAttribute的问题
我在页面A.jsp里面用到request.setAttribute( "a ", "love "); 然后在A.jsp页面里使用response.sendRedirect( "B.jsp ");在B.jsp里用request.getAttribute( "a ");取值,得到的却是空,为什么request.setAttribute()不能将值传递到下一个页面去呢?换成session就没问题
[解决办法]
response.sendRedirect 会产生新的request
[解决办法]
sendRedirect会清空request里面的数据的
[解决办法]
楼上两位说的是其一
request和
session这两个的作用范围..
-----------------
J2EE技术交流QQ群:6890959
欢迎大家加入,
一起切磋交流,
共同进步!
群空间有很多好东西下载..
[解决办法]
1.request请求对象的作用域只限在当前的一次请求。
方法一:response.sendRedirect( "请求的资源的URL ");
如:response.sendRedirect( "index.do ");response.sendRedirect ( "index.jsp ");response.sendRedirect( "indexServlet ");叫请求重定向。
这个会是上次的请求对象的值全部丢失。
方法二:request.getRequestDispatcher( "index.do ").forward(request,response);
request.getRequestDispatcher( "index.jsp ").forward(request,response);
request.getRequestDispatcher( "indexServlet ").forward(request,response);
叫请求转发,它会延长request的生命周期。
[解决办法]
Redirect 是重定向
[解决办法]
方法二:request.getRequestDispatcher( "index.do ").forward(request,response);
request.getRequestDispatcher( "index.jsp ").forward(request,response);
request.getRequestDispatcher( "indexServlet ").forward(request,response);
叫请求转发,它会延长request的生命周期。
这个真的能延长request的生命周期????????????????
你从哪看来的....
楼主可以把要传的值以参数形式传到下个页面.
[解决办法]
response.sendRedirect( "B.jsp ");只是重定向,浏览器端跳转,不能传送数据
所以要用RequestDisPatcher
例如:
RequestDisPatcher view = request.getRequestDispatcher( "B.jsp ");
view.forword(request,response);
[解决办法]
楼上正解.可以用FORWARD
[解决办法]
up
RequestDisPatcher view = request.getRequestDispatcher( "B.jsp ");
view.forword(request,response);