我们最常见的就是在页面遍历一个集合,每次只能操作一条数据。今天就教大家同时修改多条数据的方法:
首先,在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);//修改订单的方法
}