java批量修改,一般思路就是前台组装好数据格式,后台拆分,当然也有别的思路,今天就主要讲解这一思路,前台组装,后台拆分。
- 前台组装
<s:iterator value="pageBean.list" var="d">
<tr>
<td>${d.type_name} <input type="hidden" name="type_id" value="${d.type_id}"></td>
<td><input name="life_max${d.type_id}" value="${d.life_max}" type="text"
style="margin: 0px" maxlength="3" class="required"
onkeyup='this.value=this.value.replace(/[^0-9]\D*$/,"")'
ondragenter="return false">
</td>
</tr>
</s:iterator>
注释:注释用form提交的,此处form省略;重点是input的name,之所以加上${d.type_id},是要区分每个life_max,每个life_max都是不一样的,这样后台就能准确拆分。onkeyup和ondragenter是对input框里数据的一个限制,只能书写0-9的数字,其他的不能写,maxlength=”3”意思是最多只能写三位字符串。
2.后台拆分
try{
String[] typeId=type_id.split(",");
for(int i=0;i<typeId.length;i++){
String typeid=typeId[i].trim();
String lifeMax=request.getParameter("life_max"+typeid);
DeviceActive d=new DeviceActive();
d.setType_id(typeid);
d.setLife_max(Integer.parseInt(lifeMax));
this.deviceActiveValueService.deviceActiveEdit(d);
}
this.addActionMessage("批量修改成功");
}catch(SPMException e){
this.addActionError("批量修改失败,请重试");
logger.error(e.getMessage(),e);
}
return SUCCESS;
注释:第一步就是先将type_id用split拆分,逗号分隔,然后放进数组,然后for循环依次修改,思路就是这样。