前几天学习SSM开发框架遇到了批量删除的数据绑定问题,就从网上学习了一下,参考别人的博客又加了点自己的见解写了这篇博客。
绑定数组
在实际开发时,可能会遇到前端请求需要传递到后台多个input的Name属性相同的数据的情况(如批量删除),这个情况用SpringMVC的Controller的普通的参数数据绑定是不行的。此时就需要使用绑定数组的方式来实现需求。
下面通过一个例子来详细介绍绑定数组的操作:
HTMl
<form action="/vitae/deleteUsers.action" method="post">
<table width="200px" border=1>
<tr>
<td>选择</td>
<td>用户名</td>
</tr>
<tr>
<td><input name="ids" value="1" type="checkbox" /></td>
<td>tom</td>
</tr>
<tr>
<td><input name="ids" value="2" type="checkbox" /></td>
<td>jack</td>
</tr>
<tr>
<td><input name="ids" value="3" type="checkbox" /></td>
<td>marry</td>
</tr>
</table>
<input type="submit" value="删除" />
</form>
上面的form表单定义了 3个name属性相同而value属性值不同的复选框,并在每一个复选框对应的行中编写了一个对应用户。在单击"删除"按钮执行删除操作时,表单会提交到“/deleteUsers”请求中。
Controller
/*
* 接收批量删除用户的方法
*/
@RequestMapping("/deleteUsers.action")
public String skillInformation(int[] ids){
for(int id:ids){
System.out.println("id为:"+id);
}
return "";
}
Controller层接收Html传递的数据的参数数组名ids要与jsp页面的input的name名一致。
运行结果
图中显示说明已经成功实现了数组类型的数据绑定