日期:2014-05-18  浏览次数:20622 次

在js页面存放request后,java端怎么取值?
我在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

------解决方案--------------------
这两个不是同一个request,你可以把数据绑定在session中
------解决方案--------------------
作用域的问题,把值保存在request中,只有当前页面和forward是有效的
而你的action既不是当前页面,又不是forward过去的,因此无效,

1楼说的对,保存在session中是可以的