我在js页面用request存放了一个叫tpvalue的值
jsp:
<table border="1" align="center">
     <s:iterator value="#session.goodstablelist">
     <tr>
        <s:set name="tpvalue" value="tp" scope="request"></s:set>       
        <td ><img src="getimage2.action" width=300 height=300 align="center"/></td>       
     </tr>
     <% out.print(request.getAttribute("tpvalue")); %> 
     </s:iterator>
  </table>页面显示request.getAttribute("tpvalue")是有值的。
我在img中使用action的getimage2处理值java:
HttpSession session = request.getSession();
HttpServletRequest request=ServletActionContext.getRequest();
request.getAttributeNames();
byte[] zp=(byte[])request.getAttribute("tpvalue");
System.out.println(zp);但是java端中的控制台显示null
为什么?jsp&nbsp;request

解决方案 »

  1.   

    这两个不是同一个request,你可以把数据绑定在session中
      

  2.   

    HttpSession session = request.getSession();
    HttpServletRequest request=ServletActionContext.getRequest();
    request.getAttributeNames();
    //不明白你写上面一拖干嘛?
    byte[] zp=(byte[])request.getAttribute("tpvalue");
      

  3.   

    java的程序要发全,ServletActionContext.getRequest();这一串估计错了。
      

  4.   

    作用域的问题,把值保存在request中,只有当前页面和forward是有效的
    而你的action既不是当前页面,又不是forward过去的,因此无效,1楼说的对,保存在session中是可以的
      

  5.   

    不是同一个request,或者转发能共享request