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

xiaoxiao2021-02-28  120

本功能是基于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 οnclick="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删除对应的数据,在实际使用中可根据个人需要来调用相应的删除方法。

实现效果如下:

转载请注明原文地址: https://www.6miu.com/read-30023.html

最新回复(0)