AJAX批量删除

在学习AJAX批量删除之前先完成了对页面的修改

aside.js

头部插入
<%@taglib prefix=“security” uri=“http://www.springframework.org/security/tags” %>
在页面在线之上加入用户名
在这里插入图片描述

再给用户管理加上权限保护

              <security:authorize access="hasRole('ADMIN')">
              <a
              href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5"> <i
                 class="fa fa-circle-o"></i> 用户管理
               </a>
              </security:authorize>

header.jsp

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8” isELIgnored=“false”%>
<%@taglib prefix=“security” uri=“http://www.springframework.org/security/tags” %>

	<div class="navbar-custom-menu">
		<ul class="nav navbar-nav">

			<li class="dropdown user user-menu"><a href="#"
				class="dropdown-toggle" data-toggle="dropdown"> <img
					src="${pageContext.request.contextPath}/img/user2-160x160.jpg"
					class="user-image" alt="User Image"> <span class="hidden-xs">
				<security:authentication property="principal.username"></security:authentication>
				</span>
			</a>
				<ul class="dropdown-menu">
					<!-- User image -->
					<li class="user-header"><img
						src="${pageContext.request.contextPath}/img/user2-160x160.jpg"
						class="img-circle" alt="User Image"></li>

					<!-- Menu Footer-->
					<li class="user-footer">
						<div class="pull-left">
							<a href="#" class="btn btn-default btn-flat">修改密码</a>
						</div>
						<div class="pull-right">
							<a href="${pageContext.request.contextPath}/logout.do"
								class="btn btn-default btn-flat">注销</a>
						</div>
					</li>
				</ul></li>

		</ul>
	</div>
</nav>

AJAX批量删除

导入js包

在这里插入图片描述

user-list.jsp

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8” isELIgnored=“false”%>
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>

数据 - AdminLTE2定制版
<div class="wrapper">

	<!-- 页面头部 -->
	<jsp:include page="header.jsp"></jsp:include>
	<!-- 页面头部 /-->

	<!-- 导航侧栏 -->
	<jsp:include page="aside.jsp"></jsp:include>
	<!-- 导航侧栏 /-->

	<!-- 内容区域 -->
	<div class="content-wrapper">

		<!-- 内容头部 -->
		<section class="content-header">
		<h1>
			用户管理 <small>全部用户</small>
		</h1>
		<ol class="breadcrumb">
			<li><a href="#"><i
					class="fa fa-dashboard"></i> 首页</a></li>
			<li><a
				href="#">用户管理</a></li>

			<li class="active">全部用户</li>
		</ol>
		</section>
		<!-- 内容头部 /-->

			<!-- 正文区域 -->
			<section class="content"> <!-- .box-body -->
			<div class="box box-primary">
				<div class="box-header with-border">
					<h3 class="box-title">列表</h3>
				</div>

				<div class="box-body">

					<!-- 数据表格 -->
					<div class="table-box">

						<!--工具栏-->
						<div class="pull-left">
							<div class="form-group form-inline">
								<div class="btn-group">
									<button type="button" class="btn btn-default" title="新建"
											onclick="location.href='${pageContext.request.contextPath}/pages/user-add.jsp'" >
										<i class="fa fa-file-o"></i> 新建
									</button>
									
									<button type="button" class="btn btn-default" title="刷新" onclick="deleteAll()">
										<i class="fa fa-refresh"></i> 删除
									</button>
								</div>
							</div>
						</div>
						<form action="#"
							  method="post">
							<div class="col-md-4 data1">
								<input type="text" class="form-control" name="name"
									   placeholder="cname" value="">
							</div>
							<button type="submit" class="btn bg-maroon">搜索</button>
						</form>
						<!--工具栏/-->

						<!--数据列表-->
						<table id="dataList"
							class="table table-bordered table-striped table-hover dataTable">
							<thead>
								<tr>
									<th class="" style="padding-right: 0px"><input
										id="selall" type="checkbox" class="icheckbox_square-blue">
									</th>
									<th class="sorting_asc">ID</th>
									<th class="sorting_desc">用户名</th>
									<th class="sorting_asc sorting_asc_disabled">密码</th>
									<th class="text-center">操作</th>
								</tr>
							</thead>
							<tbody>
							    <c:forEach var="user" items="${pageInfos.list}">
									<tr>
										<td><input name="ids" type="checkbox" value="${user.id}"></td>
										<td>${user.id}</td>
										<td>${user.name}</td>
										<td>${user.password}</td>
										<td class="text-center">
											<a href="${pageContext.request.contextPath}/user/toUpdate.do?id=${user.id}" class="btn bg-olive btn-xs">更新</a>
											<a href="${pageContext.request.contextPath}/user/delete.do?id=${user.id}" class="btn bg-olive btn-xs">删除</a>
											<a href="#" class="btn bg-olive btn-xs">添加角色</a>
										</td>
									</tr>
								</c:forEach>
							</tbody>
							<!--
                        <tfoot>
                        <tr>
                        <th>Rendering engine</th>
                        <th>Browser</th>
                        <th>Platform(s)</th>
                        <th>Engine version</th>
                        <th>CSS grade</th>
                        </tr>
                        </tfoot>-->
						</table>
						<!--数据列表/-->

					</div>
					<!-- 数据表格 /-->

				</div>
				<!-- /.box-body -->
					<div class="box-tools pull-right">
						<ul class="pagination">
							<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5" aria-label="Previous">首页</a></li>
							<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfos.pageNum-1}&size=5">上一页</a></li>
							<c:forEach begin="1" end="${pageInfos.pages}" var="pageNum">
								<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageNum}&size=5">${pageNum}</a></li>
							</c:forEach>
							<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfos.pageNum+1}&size=5">下一页</a></li>
							<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfos.pages}&size=5" aria-label="Next">尾页</a></li>
						</ul>
					</div>

				</div>
				<!-- /.box-footer-->

			<!--</div>-->

			</section>
			<!-- 正文区域 /-->

		</div>
		<!-- @@close -->
		<!-- 内容区域 /-->

		<!-- 底部导航 -->
		<footer class="main-footer">
		<div class="pull-right hidden-xs">
			<b>Version</b> 1.0.8
		</div>
		<strong>Copyright &copy; 2014-2017 <a
			href="http://www.itcast.cn">研究院研发部</a>.
		</strong> All rights reserved. </footer>
		<!-- 底部导航 /-->

	</div>

	<script src="../plugins/jQuery/jquery-2.2.3.min.js"></script>
	<script src="../plugins/jQueryUI/jquery-ui.min.js"></script>
	<script>
		$.widget.bridge('uibutton', $.ui.button);
	</script>
	<script src="../plugins/bootstrap/js/bootstrap.min.js"></script>
	<script src="../plugins/raphael/raphael-min.js"></script>
	<script src="../plugins/morris/morris.min.js"></script>
	<script src="../plugins/sparkline/jquery.sparkline.min.js"></script>
	<script src="../plugins/jvectormap/jquery-jvectormap-1.2.2.min.js"></script>
	<script src="../plugins/jvectormap/jquery-jvectormap-world-mill-en.js"></script>
	<script src="../plugins/knob/jquery.knob.js"></script>
	<script src="../plugins/daterangepicker/moment.min.js"></script>
	<script src="../plugins/daterangepicker/daterangepicker.js"></script>
	<script src="../plugins/daterangepicker/daterangepicker.zh-CN.js"></script>
	<script src="../plugins/datepicker/bootstrap-datepicker.js"></script>
	<script
		src="../plugins/datepicker/locales/bootstrap-datepicker.zh-CN.js"></script>
	<script
		src="../plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script>
	<script src="../plugins/slimScroll/jquery.slimscroll.min.js"></script>
	<script src="../plugins/fastclick/fastclick.js"></script>
	<script src="../plugins/iCheck/icheck.min.js"></script>
	<script src="../plugins/adminLTE/js/app.min.js"></script>
	<script src="../plugins/treeTable/jquery.treetable.js"></script>
	<script src="../plugins/select2/select2.full.min.js"></script>
	<script src="../plugins/colorpicker/bootstrap-colorpicker.min.js"></script>
	<script
		src="../plugins/bootstrap-wysihtml5/bootstrap-wysihtml5.zh-CN.js"></script>
	<script src="../plugins/bootstrap-markdown/js/bootstrap-markdown.js"></script>
	<script
		src="../plugins/bootstrap-markdown/locale/bootstrap-markdown.zh.js"></script>
	<script src="../plugins/bootstrap-markdown/js/markdown.js"></script>
	<script src="../plugins/bootstrap-markdown/js/to-markdown.js"></script>
	<script src="../plugins/ckeditor/ckeditor.js"></script>
	<script src="../plugins/input-mask/jquery.inputmask.js"></script>
	<script
		src="../plugins/input-mask/jquery.inputmask.date.extensions.js"></script>
	<script src="../plugins/input-mask/jquery.inputmask.extensions.js"></script>
	<script src="../plugins/datatables/jquery.dataTables.min.js"></script>
	<script src="../plugins/datatables/dataTables.bootstrap.min.js"></script>
	<script src="../plugins/chartjs/Chart.min.js"></script>
	<script src="../plugins/flot/jquery.flot.min.js"></script>
	<script src="../plugins/flot/jquery.flot.resize.min.js"></script>
	<script src="../plugins/flot/jquery.flot.pie.min.js"></script>
	<script src="../plugins/flot/jquery.flot.categories.min.js"></script>
	<script src="../plugins/ionslider/ion.rangeSlider.min.js"></script>
	<script src="../plugins/bootstrap-slider/bootstrap-slider.js"></script>
	<script>
		$(document).ready(function() {
			// 选择框
			$(".select2").select2();

			// WYSIHTML5编辑器
			$(".textarea").wysihtml5({
				locale : 'zh-CN'
			});
		});

		// 设置激活菜单
		function setSidebarActive(tagUri) {
			var liObj = $("#" + tagUri);
			if (liObj.length > 0) {
				liObj.parent().parent().addClass("active");
				liObj.addClass("active");
			}
		}

		$(document)
				.ready(
						function() {

							// 激活导航位置
							setSidebarActive("admin-datalist");

							// 列表按钮 
							$("#dataList td input[type='checkbox']")
									.iCheck(
											{
												checkboxClass : 'icheckbox_square-blue',
												increaseArea : '20%'
											});
							// 全选操作 
							$("#selall")
									.click(
											function() {
												var clicks = $(this).is(
														':checked');
												if (!clicks) {
													$(
															"#dataList td input[type='checkbox']")
															.iCheck(
																	"uncheck");
												} else {
													$(
															"#dataList td input[type='checkbox']")
															.iCheck("check");
												}
												$(this).data("clicks",
														!clicks);
											});
						});
	</script>

在IUserInfoDao中定义deleteAll方法

void deleteAll(List list);

在UserMapper.xml中实现方法

在这里插入图片描述

在UserInfoService中实现

@Override
public void deleteAll(List list) {
    userInfoDao.deleteAll(list);
}

在UserInfoController中加入控制
@RequestMapping(“deleteAll.do”)
@ResponseBody
public String deleteAll(String userlist){
String[] strs=userlist.split(",");
List ids=new ArrayList<>();
for(int i=0;i<strs.length;i++){
ids.add(Integer.parseInt(strs[i]));
}
userInfoService.deleteAll(ids);
return “”;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值