struts2中iterator,href超链接传递参数

自学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查找到这个对象了


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值