jsp request.getAttribute 取不到值

servlet:req.setAttribute("lbs1",lbs);session.setAttribute("lbs1",lbs);resp.sendRedire... servlet:
req.setAttribute("lbs1",lbs);
session.setAttribute("lbs1",lbs);
resp.sendRedirect(url);
jsp:
ArrayList lbss = new ArrayList();
lbss = (ArrayList)request..getAttribute("lbs1");

后来我尝试用session 但是我这是搜索返回页面 如果用session 总是取到第一次的结果

我上网搜了下 人家说request有范围 看了半天也没看懂什么意思
高手们帮助下啊 解释清楚继续加分
展开
 我来答
retoreto
推荐于2016-07-13 · TA获得超过224个赞
知道答主
回答量:61
采纳率:0%
帮助的人:59.1万
展开全部
楼主得问题主要是处在这里:
resp.sendRedirect(url); 这个是重定向;
应该用RequestDispatcher;

这个是都是什么意思呢?转化成生活语言就是:

我是浏览器,你是servlet。我给你发了个请求(request)让你帮我去买烟。
但是你不想去,你给了我个回了个响应告诉我:你去找XXX.jsp(就是你写得那个JSP),他会帮你买。我收到响应后,又重新给XXX.JSP发了个请求(之前你在request存得东西就没了,那个requset被销毁了),所以你取不出来。这就是重定向。
什么叫RequestDispatcher呢。就是说。我给让你给我去买烟但是你不想去,这时候你没告诉我你不想去,你直接把request给了xxx.jsp让他去买(这时候没有新建requset,所以你在JSP里能取出来存得值),他买了之后吧烟给你了,你又吧烟给我了,但是我不知道这烟是xxx.jsp买的,我只知道是你(servlet)买得。

就是这个意思。希望你能明白。

也就是说,如果你在 A 里存了个东西 想在 B 里取出来。
如果你用了resp.sendRedirect(url); ,就要吧东西存在session里,在 B 里
用session取。
如果你用了RequestDispatcher rd = request.getRequestDispatcher("url");
rd.forward(request, response); 那么你就可以存在requset里。
百度网友7e5bb7478
2008-11-22 · TA获得超过450个赞
知道小有建树答主
回答量:547
采纳率:0%
帮助的人:236万
展开全部
session物件是属性物件在同一个进程中提供的
而request是表示在同一个jsp连接中的,
这两个是可以混用的,不过只能用request可以得到sossion的值,
但不能倒着用,
你要session.setAttribute("lbs1",lbs);前面后面各打印一下,
看看能不能得到session
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzj203355
2008-11-22 · TA获得超过2022个赞
知道小有建树答主
回答量:3147
采纳率:100%
帮助的人:1003万
展开全部
你往session里存 request怎么能拿到呢?
应该是:lbss = (ArrayList)session.getAttribute("lbs1");
如果你想拿到request那个
不能用转发,把resp.sendRedirect(url); 改成

重定向request.getRequestDispatcher(url).forward(request,response);//url就是(/xx.jsp)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友198b2c6
2008-11-22 · TA获得超过1595个赞
知道小有建树答主
回答量:2800
采纳率:0%
帮助的人:1536万
展开全部
当程序运行时,如果把一个值存在session中,那么除非你关闭窗口,或者调用关闭session的方法,否则session中的值,就一直存在于内存中。
request的话,就是页面与页面之间传递值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chineseld
2008-11-22
知道答主
回答量:18
采纳率:0%
帮助的人:17.8万
展开全部
request跟session是不一样的,你应该分别取值,这样才能取到2个值:
request.getAttribute("lbs1",lbs);
session.getAttribute("lbs1",lbs);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式