基于Servlet和JSP的用户管理(四)--用户删除功能

思路分析如下:

首先要实现该功能,先找到前端页面的删除按钮

<a class="btn btn-default btn-sm" href="${pageContext.request.contextPath}/delUserServlet?id=${user.id}">删除</a></td>

然后编写DelUserServlet方法

package edu.swpu.web.servlet;

import edu.swpu.service.UserService;
import edu.swpu.service.impl.UserServiceImpl;

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 java.io.IOException;
@WebServlet("/delUserServlet")
public class DelUserServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取id
        String id = request.getParameter("id");
        //2.调用service删除
        UserService service = new UserServiceImpl();
        service.deleteUser(id);
        //跳转到查询所有Servlet
        response.sendRedirect(request.getContextPath()+"/userListServlet");
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

 接下来去实现UserServlet里面的deleteUser方法

UserService:
 void deleteUser(String id);
UserServiceImpl:
  @Override
    public void deleteUser(String id) {
        dao.delete(Integer.parseInt(id));
    }

UserDao里面的方法:

  void delete(int id);

UserDaoImpl:

 public void delete(int id) {
        String sql = "delete from user where id = ?";
        template.update(sql,id);
    }

大致功能就完成了。接下来有一个需要优化的细节,当我们按下删除按钮的时候,就会立马删除数据,我们需要通过javascript来实现一个询问方法,询问是否删除。先来到前端页面,将删除按钮的跳转路径改为一个函数

 <a class="btn btn-default btn-sm" href="javascript:deleteUser(${user.id});">删除</a></td>

再去实现这个函数:

 <script>
        function deleteUser(id) {
            if(confirm("确定删除?")){
                location.href="${pageContext.request.contextPath}/delUserServlet?id="+id;
            }
        }
    </script>

最后说明一下这个地方为什么要传参:deleteUser(${user.id})而不是后面直接获取,因为JavaScript函数在页面最前面,无法在正常情况下获取后面的参数,所以使用这个方法区解决这个问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值