Struts2框架action传入页面list对象集合,修改对象集合数据后提交给action

我们最常见的就是在页面遍历一个集合,每次只能操作一条数据。今天就教大家同时修改多条数据的方法:

首先,在action中定义对象list集合,并设置get,set方法,例如:

private List<Tongpei> tplist;

public List<Tongpei> getTplist() {
        return tplist;
    }

 public void setTplist(List<Tongpei> tplist) {
        this.tplist = tplist;
    }

其次在某个方法中接收数据库数据,例如

tplist=tPdhEbi.getall(as.getStorecode(), tp.getFlid());

传入jsp页面

ActionContext.getContext().put("tplist", tplist);

在页面接收数据

 <c:forEach items="${tplist}" var="list" varStatus="varStatus" step="1">

 <input type="hidden" name="tplist[${varStatus.index}].tid" value="${list.tid}"/> 对象id必须有,因为我们修改数据先通过id查出来该对象在修改

            <td ><font size="1">${varStatus.index+1}</font></td>
           <td><font size="2">${list.code }</font></td>
           <td><font size="2">${list.name}</font></td>
           <td bgcolor="#C1FFC1">${list.saleQty7 }</td>
           <td bgcolor="#C1FFC1">${list.saleQty6 }</td>

 <td  ><input type="text" name="tplist[${varStatus.index}].jydhl" value="${list.jydhl }" size="2"/></td>

 </c:forEach> 
大家应该注意到了,需要修改的数据列,或者隐藏属性用input标签,name是提交给action中对象属性的值value,此时我们的提交表单接收数据是集合,也就不会因为多个相同属性报错。

在action中接收数据方法直接修改数据

for(Tongpei t:tplist){  //tplist有get,set方法,提交表单此时已有数据,遍历每一个对象进行修改
               tPdhEbi.baocun(t);//修改订单的方法
            }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值