1.log-list.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<html>
<head>
</head>
<body>
<button id="delAll">批量删除</button>
<table class="layui-table">
<thead>
<tr>
<td><input type="checkbox" name="selAll"
onClick="funSelAll(this)" /></td>
<th>ID</th>
<th>操作人</th>
<th>操作详情</th>
<th>操作时间</th>
</tr>
</thead>
<tbody id="x-link">
<c:forEach items="${loglist}" var="findlog">
<tr>
<td><input type="checkbox" name="selOne" value="${findlog.id}"
onClick="funSelOne(this)" /></td>
<td>${findlog.id }</td>
<td>${findlog.employee.name }</td>
<td>${findlog.details }</td>
<td><fmt:formatDate value="${findlog.updateDate }"
pattern="YYYY-MM-dd HH:mm:ss" /></td>
</tr>
</c:forEach>
</tbody>
</table>
<script src="js/jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript">
//单选复选框
var one = document.getElementsByName("selOne");
//全选复选框
var all = document.getElementsByName("selAll")[0];
//当全选按钮,选中时,所有复选框被选中,当全选按钮不被选中时,所有的也不被选中
function funSelAll() {
//全选按钮选择后,所有复选框都被选中
if (all.checked == true) {
for (var i = 0; i < selects.length; i++) {
one[i].checked = true;
}
} else {
//只要一个复选框没选中,则全选按钮没选中
for (var i = 0; i < one.length; i++) {
one[i].checked = false;
}
}
}
//当所有的复选框被选中时,全选按钮被选中,当其中任意一个或者多个没被选中时,全选按钮不被选中
function funSelOne() {
var selCount = 0;
var unSelCount = 0;
for (var i = 0; i < one.length; i++) {
if (one[i].checked == true) {
selCount++;
}
if (one[i].checked == false) {
unSelCount++;
}
if (selCount == one.length) {
all.checked = true;
}
if (unSelCount > 0) {
all.checked = false;
}
}
}
//批量删除
$("#delAll").click(function() {
var ids = [];//定义通知id数组
$("[name='selOne']:checked").each(function() {
ids.push(this.value);
});
//没选择要删除的数据时给出提示
if (ids.length == 0) {
alert('您还未选择要删除的数据!');
return;
}
$.ajax({
type : "post",
url : "delLogs.action",
traditional : true,//需要加入这句代码才能正确的将数组正确的传到后台,要不然传的是Null
async : false,
data : {
"ids" : ids
},
dataType : "text",
success : function(data) {
if(data == "ok") {
alert("删除成功!");
//删除成功后,在这里执行刷新
} else {
alert("删除失败!");
}
}
});
});
</script>
</body>
</html>
2.LogDao.java
/**
* 根据id批量删除
*
* @param id
* @return
*/
boolean delLogs(Integer[] ids);
3.LogDaoImpl.java
/**
* 批量删除
*/
@Override
public boolean delLogs(Integer[] ids) {
// TODO Auto-generated method stub
System.out.println("daoimpl中的ids:"+ids);
String sql = "delete from `log` where id in (:ids)";
Query query = sessionFactory.getCurrentSession().createSQLQuery(sql);
query.setParameterList("ids", ids);
int ret = query.executeUpdate();
if (ret > 0) {
return true;
} else {
return false;
}
}
4.LogBiz.java
/**
* 根据id批量删除
*
* @param id
* @return
*/
boolean delLogs(Integer[] ids);
5.LogAction.java
/**
* 日志批量删除
*
* @return
*/
@Action(value = "delLogs", results = { @Result(name = "success", type = "json") })
public String delLogs() {
String ret = "no";
boolean flag = logBiz.delLogs(ids);
if (flag) {
ret = "ok";
} else {
ret = "no";
}
try {
PrintWriter out = ServletActionContext.getResponse().getWriter();
out.write(ret);
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return SUCCESS;
}