当前位置: 首页 > news >正文

项目搭建+删除(单/批)

一 : 删除没有单独的页面,在列表页面写

二 : 删除在列表的页面

1.删除(单/双)的按钮

        ① : 在列表文档就绪函数的ajax里面,成功回调函数追加数据里写删除按钮

                注意点 : 删除/修改/回显都是根据id来的,记得传id

        ② : 批删给批删按钮,定义批删的方法

one : 示例(单删) : 
//循环追加表数据for (let x of arr) {$("#table").append(`<tr><td><input type="checkbox" class="ck" value="\${x.userId}"></td><td>\${x.userId}</td><td>\${x.userName}</td><td>\${x.userState==0?'启用':'禁用'}</td><td><img src="/file/showImg?imgUrl=\${x.imgUrl}" alt="" height="100" width="75"></td><td>\${x.userDel}</td><td>\${x.userTime}</td><td><input type="button" value="删除" onclick="delOne(\${x.userId})"><input type="button" value="修改" onclick="userUpd(\${x.userId})"></td>/tr>`)}
tow : 示例(批删按钮)
<%--批删按钮--%>
<input type="button" value="批删" onclick="delAll()">

2.给(单删)绑定js事件

        ① : 先判断
        ② : 添加友情提示 : 弹出确认删除的警告框
        ③ : ajax

                        删除走的是路径传参,不用写请求方式,传id

                        删除成功走200,刷新,回列表页面

示例 : 

/*** 单删*/function delOne(userId) {//判断if (!userId){alert("请先输入")//结束return}if (confirm("确定要删除吗")){//ajax$.ajax({url:"/user/userDel?userId="+userId,type:"post",dataType: "json",success(res) {console.log(res)if (res===200){//刷新location.reload()alert("删除成功")//跳转页面location.href="list.jsp"}}})}}

3.给(批删)写js事件

        ① : 定义数组
        ② : 获取选中的复选框
        ③ : 获取选中复选框的值
        ④ : 添加进数组里
        ⑤ : 将数组转换成字符串
        ⑥ : 调用单删的方法
//批删function delAll() {//定义数组let arr=[];//获取选中的复选框$(".ck:checked").each(function () {//获取被选中的复选框的值let userId =$(this).val()//添加进数组里arr.push(userId)})//将数组转字符串let s = arr.join(",");//调用单删除方法delOne(s)}

4.全选/全不选

//全选/全不选$(document).on('click',"#check",function () {$('.ck').prop("checked",this.checked)})

 三 : 删除的Controller

1. 接参 : 接路径传参传过来的id

2. 传给service 带着id传过去

3. 响应 200

        注意点 : 单删/批删走一个Controller,写一个就可以了

示例 : 

/*** 删除*/protected void userDel(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//接参String userId = req.getParameter("userId");//传给serviceservice.userDel(userId);//响应resp.getWriter().println(JSONObject.toJSONString(200));}

四 : 删除service层

1.调用dao层方法,处理返回值 (单/批走一个service)

/*** 删除* @param userId*/@Overridepublic void userDel(String userId) {//调用方法userDao.userDel(userId);}

五 : dao层

1.定义sql    2.执行sql

                ① : 单删的sql语句
/*** 删除* @param userId*/@Overridepublic void userDel(String userId) {//定义sql  in ("+userId+") String sql="UPDATE t_user SET user_del=1 WHERE user_id=? ";//打印System.out.println(sql);//执行sqlbaseUpdate(sql,userId);}
                ② : 批删的sql语句
/*** 删除* @param userId*/@Overridepublic void userDel(String userId) {//定义sqlString sql="UPDATE t_user SET user_del=1 WHERE user_id in ("+userId+") ";//打印System.out.println(sql);//执行sqlbaseUpdate(sql);}

http://www.lryc.cn/news/506960.html

相关文章:

  • 《小米创业思考》
  • 多种注意力机制详解及其源码
  • VMWare 的克隆操作
  • Y3编辑器教程7:界面编辑器
  • 「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具
  • run postinstall error, please remove node_modules before retry!
  • 详细解读TISAX认证的意义
  • 【开源项目】数字孪生轨道~经典开源项目数字孪生智慧轨道——开源工程及源码
  • 云原生是什么
  • 买卖股票的最佳时机 IV - 困难
  • linux源码编译php提示:No package ‘oniguruma‘ found
  • 2024技能大赛Vue流程复现
  • MATLAB截取图像的一部分并保存导出,在itksnap中3D展示
  • JMeter配置原件-计数器
  • go面试问题
  • springboot 配置Kafka 关闭自启动连接
  • selenium工作原理
  • day14-16系统服务管理和ntp和防火墙
  • Hadoop、Hbase使用Snappy压缩
  • 【python】OpenCV—Image Moments
  • 环境变量的知识
  • ATECLOUD测试平台有哪些功能?
  • 使用pyinstaller打包pyqt的程序,运行后提示ModuleNotFoundError: No module named ‘Ui_main‘
  • 搭建分布式Spark集群
  • Django基础 - 01入门简介
  • 简单的bytebuddy学习笔记
  • 【服务端】Redis 内存超限问题的深入探讨
  • Springboot logback 日志打印配置文件,每个日志文件100M,之后滚动到下一个日志文件,日志保留30天(包含traceid)
  • 《计算机组成及汇编语言原理》阅读笔记:p1-p8
  • 【游戏中orika完成一个Entity的复制及其Entity异步落地的实现】 1.ctrl+shift+a是飞书下的截图 2.落地实现