自学SSH期间
想做一个如图类似购物车一样的东西。一开始想用复选框,要用到复选框的话好像要用上js,就没用了。
后来根据书给的一个案例,决定先试试这个用链接的方式。
先说结论,这个方法只能传递string类型的参数。所以我想象的想传递goodsList里面合适的goods是不行的
以下为jsp代码
<s:iterator value="#session.goodsList" var="b">
<tr>
<td><s:property value="id"/></td>
<td><s:property value="price"/></td>
<td><a href="${pageContext.request.contextPath}/userAction!buy?
temp1=${b.id}">购买1</a></td>
<td><a href="${pageContext.request.contextPath}/userAction!buy?
temp2=${b.price}">购买2</a></td>
<td><a href="${pageContext.request.contextPath}/userAction!buy?
temp3=${b}">购买3</a></td>
</tr>
</s:iterator>
在action里必须要有对应的temp的get、set方法
id----在原pojo里为string类型
price----在原pojo里为double类型
按照我的测试来看,购买1这个链接是string类型的id,可以完成的,所以我才联想能不能传递整个对象。
购买2这个链接,也传递成功了,但是是作为string类型被传递过去了。
购买3这个链接,报错Invalid field value for field "temp3",但是没有引起崩溃,是作为filederror被加载的,并且返回INPUT。
temp2我也是用object对象,print了才知道什么问题。这样的话就干脆传一个string类型的id,然后再在action里去通过id查找到这个对象了