您的位置:首页 > 编程语言 > Java开发

【java web】springMVC框架实现用多选框批量删除表数据功能

2017-06-06 23:06 1176 查看
本功能是基于springMVC+mybatis框架实现的,实现过程如下:
jsp代码: <c:forEach items="${requestScope.movies}" var="movie" varStatus="status">
<tr>
<td><input type="checkbox" id="subcheck"
name="subcheck" value="${movie.id}" /></td>
<td>${status.count }</td>
<td>${movie.id}</td>
<td>${movie.name }</td>
<td>${movie.classify}</td>
<td>${movie.price}</td>
<td>${movie.bid}</td>
<td>${movie.num}</td>
<td>${movie.num_sale}</td>
<td>${movie.score}</td>
<td>${movie.note}</td>
<td>${movie.time}</td>
<td><a href="movie/${movie.id}">修改</a></td>
</tr>
</c:forEach>
代码解释:在EL表达式的循环体中添加<input type="checkbox" id="subcheck" name="subcheck" value="${movie.id}" />,该行代码表示为为每条数据增加一个多选框,其中value属性可根据实际情况改动,但一定要是数据库中主键值,如果不是会出现bug

添加一个删除按钮,onclick属性为batchDeletes():

<button onclick="batchDeletes()">删除</button>
js代码:

<script type="text/javascript">
function batchDeletes(){
//判断至少写了一项
var checkedNum = $("input[name='subcheck']:checked").length;
if(checkedNum==0){
alert("请至少选择一项!");
return false;
}
if(confirm("确定删除所选项目?")){
var checkedList = new Array();
$("input[name='subcheck']:checked").each(function(){
checkedList.push($(this).val());
});
$.ajax({
type:"POST",
url:"del",
data:{"delitems":checkedList.toString()},
datatype:"html",
success:function(data){
$("[name='checkbox2']:checkbox").attr("checked",false);
location.reload();//页面刷新
},
error:function(data){
art.dialog.tips('删除失败!');
}
});
}
}
</script>代码解释:当点击删除按钮后执行该方法,该段代码表示将已选的多选框通过ajax发送给后台,本例中url设为del,在实际代码编写中可以改变,但需和后台地址一致

后台Controller代码:

@RequestMapping("/del")
public void batchDeletes(HttpServletRequest request, HttpServletResponse response) {
String items = request.getParameter("delitems");// System.out.println(items);
String[] strs = items.split(",");

for (int i = 0; i < strs.length; i++) {
try {
int a = Integer.parseInt(strs[i]);
persistService.delStudentById(a);
} catch (Exception e) {
}
}
}从前台勾选的选择框中传过来的值用“,”分开并存入strs数组,将strs数组中的字符强制转换为int类型(主键需要,主键不为int类型可以跳过此步),然后通过调用.delStudentById()函数删除数据库中所有以该数组作为元素的数据,其中delStudentById()函数是在service层定义的,作用是通过数据的Id删除对应的数据,在实际使用中可根据个人需要来调用相应的删除方法。

实现效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐