1.先在dao层将数据删除掉
通过id寻找到这本书并且将它删除掉
/*** 删除一本书的数据*/
public voiddeleteBookById(String id) {//TODO Auto-generated method stub
QueryRunner qr=newQueryRunner(C3p0utils.getDataSourcce());
String sql="delete books where id=?";
qr.update(sql,id);
}
2.在service层里面调用dao层已经实现的逻辑
public void deleteBookById(String id) {
// TODO Auto-generated method stub
BookDaoImpl bookDao=new BookDaoImpl();
bookDao.deleteBookById(id);
}
3.将数据在deleteBookByIdServlet里面调用service方法实现删除
关键还要在jsp页面弄一个隐藏标签
下面就可以实现删除操作了:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//1.获取书的id
String id=request.getParameter("id");//就是上面写的那一个隐藏的input数值就是book.id//2.查找书
BookServiceImpl bookServiceImpl=newBookServiceImpl();
bookServiceImpl.deleteBookById(id);//3.放在请求对象里面加到list.jsp页面
List books=bookServiceImpl.findAllBooks();
request.setAttribute("books", books);
request.getRequestDispatcher("/admin/products/list.jsp").forward(request, response);
}
4.弹窗功能
在删除之后就会有一个功能等待我们去实现,就是将删除按钮点击之后会有一个提示,提醒是否删除数据这就需要我们的js代码来实现该功能
如上图所示功能
//删除书的js代码
//在js里面可以使用EL表达式
functiondeleteBook(bookname,bookid){if(confirm('是否要删除【'+book.name+'】这本书?')){
location.href='${pageContext.request.contextPath}/DeleteBookByIdServlet?id='+bookid;
}else{//不删除这本书
}
}
当点击确定之后就可以在数据库和页面显示中看到不存在《天龙八部》这本书了!