JavaWEB实现批量删除功能

JavaWEB实现批量删除功能

先根大家说说需要实现的功能把!

说来也简单,就是将平时的单个删除记录改成批量删除,在页面中是利用复选框进行批量删除的!
在这里插入图片描述

思路:

首先利用javaScript获取到复选框中被选中的记录名,将每一个选中的记录名存储到变量中,再传到后台进行批量删除。

给大家看看代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="css/font.css">
</head>
<body topmargin="0" leftmargin="0" bottommargin="0">


<form name="form1" method="post">
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">

  <tr>
    <td height="20" bgcolor="#FFCF60"><div align="center" class="style1">用户管理</div></td>
  </tr>
  <tr>
    <td  bgcolor="#666666"><table width="600" border="0" align="center" cellpadding="0" cellspacing="1">
       	   <tr>
          <td width="224" height="20" bgcolor="#FFFFFF"><div align="center">用户昵称</div></td>
          <td width="93" bgcolor="#FFFFFF"><div align="center">用户状态</div></td>
          <td width="79" bgcolor="#FFFFFF"><div align="center">删除</div></td>
          <td width="75" bgcolor="#FFFFFF"><div align="center">查看信息</div></td>
 
        </tr>
        <c:forEach items="${user}" var="s">
       	   <tr>
          <td height="20" bgcolor="#FFFFFF"><div align="center">${s.name}</div></td>
          <td height="20" bgcolor="#FFFFFF"><div align="center">
		 <c:if test="${s.state=='0'}">
		 	冻结
		 </c:if>
		 <c:if test="${s.state=='1'}">
		 	未冻结
		 </c:if>		
          </div></td>
          <td height="20" bgcolor="#FFFFFF"><div align="center">
          <input type="checkbox" name="user_name" value="${s.name}"></div></td>
          <td height="20" bgcolor="#FFFFFF"><div align="center"><a href="User_ulistServlet.do?id=${s.id}"><img src="images/button_select.png" width="14" height="13" border="0"></a></div></td>
        </tr>
        </c:forEach>
			  
		    </table></td>
  </tr>
</table>
<br>
<table width="600" height="25" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
   
    <td align="right">
	   <input type="button" value="删除选项" class="buttoncss" οnclick="deleteAllUser()">
	   </td>
  </tr>

</table>

</form>

<script src="js/jquery-3.5.0.js"></script>
<script>
/* 步骤1:先将复选框中的value用取到的名字来代替 */
	function deleteAllUser(){
		// 获取checkbox的所有选中的checked框 
		var option = $("input:checkbox:checked"); 
		//取出checked框中的值
	     var checkedName = ""; 
	     var flag = true;  
	     //循环取出输入框的值
	     for (var i = 0; i < option.length; i++) { 
	    	 //如果只有只有一条,则直接添加到容器中
	         if (flag) {
	        	 flag = false; 
	        	 checkedName += option[i].value; 
	         }else{
	        	//否则将值之间加上","分割在添加到容器中
	             checkedName += ","+option[i].value;  
	     	 } 
			 var name = window.confirm("你确定要删除这条记录吗");
			 /* alert(checkedId); */
			 if(name){
			 	window.location.href = "User_deleteServlet.do?name="+checkedName;
		  	 }
		
	     }
		
	}

</script>



</body>
</html>

这里主要是用到jstl中的标签进行显示数据的

然后再看看servlet中的代码

package servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.UserDao;

/**
 * Servlet implementation class User_deleteServlet
 */
@WebServlet("/User_deleteServlet.do")
public class User_deleteServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public User_deleteServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		
		//步骤1:获取页面参数
		String uName = request.getParameter("name");
//		由于uName是String类型,并且含有逗号分隔符,
//		我们自然而然想到了split()函数分割String为一个String[]数组。
		String[] name = uName.split(",");
		
		// 步骤2: 利用for循环语句依次调用DAO层删除功能的函数
		//首先new一个UserDao对象,然后写for循环,利用UserDao调用DAO层删除函数
		UserDao userDao = new UserDao();
		int rs = -1;
		//循环调用
		for(int i=0; i < name.length; i++) {
		    rs = userDao.deleteUserByName(name[i]);//删除成功则返回true
		}
		
		if(rs == 1){
			response.sendRedirect("User_listServlet.do");
		}else{
			response.sendRedirect("error.jsp");
		}
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

根据获取到的数据,用字符串分割得到每一个需要删除是名字,最后循环调用删除方法进行删除!

根据获取到的数据,用字符串分割得到每一个需要删除是名字,最后循环调用删除方法进行删除!

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

外包猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值