现有a.jsp通过表单提交一个字符串给Servlet1,Servlet1进行处理后得到一个对象Object o,然后
request.setAttribute("object",o);
RequestDispatcher dispatcher=request.getRequestDispatcher("b.jsp");
dispatcher.forward(request,response);
我在b.jsp可以获取到对象o,
现在问题是我在b.jsp上使用超链接 链到Servlet2,但我在Servlet2上有语句:
Object oo=(Object)request.getAttribute("object");
但获取到的oo却等于null
请问如果我想能在Servlet2上获取到对象o 有什么办法?
[quote]现在问题是我在b.jsp上使用超链接 链到Servlet2,但我在Servlet2上有语句:
[b]Object oo=(Object)request.getAttribute("object"); [/quote]
超链接中的参数,是用request.getParameter()取得的,不是用 request.getAttribute取得的。[/b]
request.setAttribute("object",o);
-->
session.setAttribute("object",o);
改为session级别的
你要明白 setAttribute只能在服务端容器里进行 JSP页面翻译成HTML时已经到客户端了 一个request请求至此也已经挂掉了 所以你只能在此页面getAttribute 客户端向服务器发送数据只能post或get 通俗的说只能发送字符串 要下个页面也能用 同一楼
超链接中的参数,是用request.getParameter()取得的,不是用 request.getAttribute取得的。
xiaolongfeixiang (资深程序员) 2010-04-14
楼上说的对,获取地址栏的参数不是通过getAttribute("object"); 来获取,该参数是用来获取session中的值,要获取的地址栏的参数,要用到request.getParameter("object");