bookList.jsp
<%--
User: SoOnPerson
Date: 2018/2/19
Time: 0:43
Description:
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Title</title>
<script src="../../js/jquery.js"></script>
<script src="../../js/booklist.js"></script>
</head>
<body>
<table border="1">
<c:forEach items="${requestScope.list}" var="book">
<tr>
<td>${book.bookName}</td>
<td>${book.bookType}</td>
<td>${book.bookPrice}</td>
<td><button id="${book.bookId}" class="Book-Delete">删除</button></td>
</tr>
</c:forEach>
</table>
</body>
</html>
BookMapper.xml节选
实现的接口
@Override
public boolean DeleteBookById(int bookId) {
/**
* @Author:SoOnPerson
* @param bookId 要删除的图书id
* @Date:2018/2/24
* @Time:20:04
* @Description:根据id删除图书
* @return:boolean是否删除成功
*
*/
SqlSession sqlSession = MybaitsGenerator.getSession(false);
BookMapper bookMapper = sqlSession.getMapper(BookMapper.class);
boolean result=false;
try {
result = bookMapper.DeleteBookById(bookId);
sqlSession.commit();
}catch (Exception e){
sqlSession.rollback();
e.printStackTrace();
}
sqlSession.close();
return result;
}
上面不能直接复制粘贴的!!!有的类是自己写的
bookList.js
$(function () {
$(".Book-Delete").click(function () {
var bookId=$(this).attr("id");
var deleteTr=$(this);
$.ajax({
type:"POST",
url:"/bookList/add.do",
data:{"BookId":bookId},
datatype:"JSON",
success: function (data) {
//location.reload();//页面刷新
//alert("成功!");
deleteTr.parent().parent().remove();
},
error: function (data) {
alert("失败!");
}
})
});
})
这里是关键,在后台成功删除数据之后,并不要刷新页面,直接用jq删除那一行数据就可以了,用户体验度会大大提高。
上面只是关键的几个地方,其他无关的我就没有贴了。