为什么前台页面通过request.setAttribute()传给后台,在后台界面用request.getAttribute()得不到呢?
用Session可以得到。
是不是前台页面用java代码传值只能用Session呢?

解决方案 »

  1.   

    request.setAttribute();在前台传的时候,页面加载以后就没有了,你在前台setAttribute();的话也只能在前台接,才能接到,想传给后台,就把值放input等能传值的标签里,如果你没用struts,后台就用request.getParameter("xxx");接
      

  2.   

    我晕了...又是没理解好B/S.
    当你请求一个JSP的时候,JVM开始运行JSP里的JAVA代码,这时候是有request对象的,前面一点弄一个setAttribute,后边一点的可以使用getAttribute得到的.当一个JSP执行之后,这一个request对象就没有了,然后Web服务器将结果返回给浏览器,之后你才可以在浏览器上看到你请求的这个JSP的结果.看到页面之后,你还想访问某个JSP,结果JVM开始运行这个JSP,产生了新的request对象,你上一次访问的JSP里的request对象与现在产生的是不一样的...所以你无法通过request.getAttribute对象取得上一次setAttribute的值,而session则不一样,一般情况下,一个浏览器是一个session,你打开一个JSP页面后,里边有很多的连接....连接N个JSP,你点击每一个连接,连接到JSP时,各个JSP里的session对象都是同一个,不因为你新的(点一个连接,而不是打开浏览器然后访问)访问而产生新的session.而request则是新创建的,每点一个连接进去,request都是新的
      

  3.   

    结帖率:0.00% 寒心呐!你确定你的传值过程是一个request作用域范围之内吗,超出request作用域当然取不到值了