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

JAVAWeb列表数据批量删除思路及实现

2020-04-01 19:04 1136 查看

个人博客地址https://nfreak-man.cn
带复选框 checkbox 的列表要实现批量删除的功能,首先要获取被选中的信息的全部 id,可以把该列表放入一个 form 表单中,以获取表单信息的方式获取全部 id,然后遍历 id,循环删除所有信息。
列表形式:

获取列表选中信息 id

把 table 放入 form表单,并把复选框 checkbox 的 value 值设置为 id:

<form id="form1" action="${pageContext.request.contextPath}/delSelectedServlet" method="post">
<table border="1" class="table table-bordered table-hover">
<tr class="success">
<th><input type="checkbox" id="firstCb"></th>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>籍贯</th>
<th>QQ</th>
<th>邮箱</th>
<th>操作</th>
</tr>
<c:forEach items="${users}" var="user" varStatus="s">
<tr>
<th><input type="checkbox" name="uid" value="${user.id}"></th>
<td>${s.count}</td>
<td>${user.name}</td>
<td>${user.gender}</td>
<td>${user.age}</td>
<td>${user.address}</td>
<td>${user.qq}</td>
<td>${user.email}</td>
<td><a class="btn btn-default btn-sm" href="${pageContext.request.contextPath}/findUserServlet?id=${user.id}">修改</a>&nbsp;
<a class="btn btn-default btn-sm" href="javascript:deleteUser(${user.id});">删除</a></td>
</tr>
</c:forEach>
</table>
</form>

点击删除按钮提交表单,获取 id

按钮:

<a class="btn btn-primary" href="javascript:void(0);" id="delSelected" >删除选中</a>

js代码:

window.onload = function(){
document.getElementById("delSelected").onclick = function(){
if(confirm("您确定要删除选中信息吗?")){
var flag = false;
//判断是否有选中条目
var cbs = document.getElementsByName("uid");
for (var i = 0; i < cbs.length; i++) {
if(cbs[i].checked){
flag = true;
break;
}
}
if(flag){
document.getElementById("form1").submit();
}
}
}

//获取第一个checkbox
document.getElementById("firstCb").onclick = function(){
//获取下摆你列表中所有cd
var cbs = document.getElementsByName("uid");
//遍历
for (var i = 0; i < cbs.length; i++) {
//设置cbs[]的check状态 = firstCb.checked
cbs[i].checked = this.checked;
}
}
}

DelSelectedServlet

@WebServlet("/delSelectedServlet")
public class DelSelectedServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取所有id
String[] ids = request.getParameterValues("uid");
//调用service删除
UserSvice service = new UserServiceImpl();
service.delSelectedUser(ids);
//跳转查询所有servlet
response.sendRedirect(request.getContextPath()+"/userListServlet");
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}

Service 方法

@Override
public void delSelectedUser(String[] ids) {
//遍历数组
for (String id : ids) {
//调用dao删除
dao.delete(Integer.parseInt(id));
}
}

dao方法

@Override
public void delete(int id) {
//定义sql
String sql = "delete from user where id = ?";
//执行sql
template.update(sql,id);
}
l
String sql = "delete from user where id = ?";
//执行sql
template.update(sql,id);
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
William_GJIN 发布了21 篇原创文章 · 获赞 0 · 访问量 454 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐