列表代码思路

目录

列表+添加+修改+删除(单删,批删)

页面==>Controller==>service==>Dao

[一.列表的jsp页面 :](#一.列表的jsp页面 :)

[一. 想要用户已经来就看到的数据使用文档就绪函数](#一. 想要用户已经来就看到的数据使用文档就绪函数)

[①文档就绪函数 :](#①文档就绪函数 :)

[二. 封装ajax方法](#二. 封装ajax方法)

[二 : 在body中间](#二 : 在body中间)

[一 : 多条件查询的文本框](#一 : 多条件查询的文本框)

[二. 写列表](#二. 写列表)

三.在body的下面写脚本

1.给搜索框绑定单击事件


列表+添加+修改+删除(单删,批删)

页面==>Controller==>service==>Dao

1.创建列表jsp页面

一.列表的jsp页面 :

一. 想要用户已经来就看到的数据使用文档就绪函数
文档就绪函数 :

$(function(){

①取值 ②组装对象 ③调用ajax

})

javascript 复制代码
$(function () {
          //取值
          let begin = $("#begin").val();
          let end=$("#end").val()
          //组装对象
          let obj={begin:begin,end:end}
          //调用ajax
          getUserList(obj);
      })
二. ②封装ajax方法

1.请求路径

2.请求方法

3.传递数据

4.解析

5.成功回调函数 :

在成功的方法里面写 :

1.清空表 2.追加表头 3.使用循环 追加表数据

注意状态想要显示启用或者未启用 使用三目运算算符

javascript 复制代码
//封装ajax方法
        function getRoleList(obj) {
            //ajax方法
            $.ajax({
                url:"/role/roleList", //请求路径
                type:"post",         //请求方法
                data:{reqInfos:JSON.stringify(obj)}, //类型转换
                dataType:"json",   //解析
                success(res){
                    console.log(res) //打印
                    //清空表
                    $("#table").empty()
                    //追加表头
                    $("#table").append(`
                    <tr>
                        <td><input type="checkbox" id="check"></td>
                        <td>角色表ID</td>
                        <td>角色表姓名</td>
                        <td>角色表注释</td>
                        <td>操作</td>
                    </tr>
                    `)
                    //循环
                    for (let x of res) {
                        //追加数据
                        $("#table").append(`
                        <tr>
                            <td><input type="checkbox" class="ck" value="\${x.roleId}"></td>
                            <td>\${x.roleId}</td>
                            <td>\${x.roleName}</td>
                            <td>\${x.roleAnnotation}</td>
                            <td>
                                <input type="button" value="修改" onclick="toUpd(\${x.roleId})">
                                <input type="button" value="删除" onclick="del(\${x.roleId})">
                            </td>
                        </tr>
                        `)
                    }
                },
                error(){
                    alert("进入维系状态,请稍等...")
                }
            })
        }

二 : 在body中间

一 : 多条件查询的文本框

例 : 1.名字模糊查找 2.时间区间查找

java 复制代码
<body>
<%--创建开始时间  结束时间--%>
    创建时间: <input type="datetime-local" step="1" id="begin">-<input type="datetime-local" step="1" id="end"><br>
<%--搜索按钮--%>
<input type="button" value="查询" id="seek">
<%--添加按钮--%>
<input type="button" value="添加" id="add">
<input type="button" id="delAll" value="批量删除">

</body>

二. 写列表

table tr td

javascript 复制代码
<%--用户对页面的查询属于后期起行为,写在body下面--%>
<%--列表--%>
    <table id="table">
        <tr>
          <td>商品创建日期</td>
          <td>商品供应厂商</td>
          <td>商品地址</td>
          <td>商品状态</td>
          <td>上传商品图片</td>
          <td>操作</td>
        </tr>
    </table>

三.在body的下面写脚本

<stricp>

1.给搜索框绑定单击事件

①取值 ②组装对象 ③调用ajax

javascript 复制代码
<%--给搜索框绑定单击点击事件--%>
        $("#seek").click(function () {
          //取值
          let begin = $("#begin").val();
          let end=$("#end").val()
          //组装对象
            let obj={begin:begin,end:end}
          //调用ajax
            getUserList(obj);
        })

</stricp>

Controller类 :

1.接参

2.将json对象转换为java对象

3.将转换后的对象传给service

返回值传的是 list集合 参数(对象)

4.将处理后的结果响应给用户

javascript 复制代码
//全局变量 方便调用
    RoleServiceImpl service = new RoleServiceImpl();
    //列表
    protected void roleList(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //接参
        String reqInfos = req.getParameter("reqInfos");
        //将JSON对象还原成Java对象
        Role role = JSONObject.parseObject(reqInfos, Role.class);
        RoleServiceImpl service = new RoleServiceImpl();
        //将转转换后的对象传给service
        List<Role> list=service.roleList(role);
        //将处理后的数据响应给用户
        resp.getWriter().println(JSONObject.toJSONString(list));
    }

service :

1.调用dao层方法

2.处理返回值

javascript 复制代码
 //列表
    @Override
    public List<Role> roleList(Role role) {
        //处理返回值   调用到层方法
        //调用页面的ajax方法名
        return roleDao.getRoleList(role);
    }

dao层

①定义sql ②执行sql

javascript 复制代码
//列表
    @Override
    public List<Role> getRoleList(Role role) {
        //定义sql
        String sql="SELECT *FROM t_role WHERE role_deleted=0";
        if (null!=role.getRoleName() && !role.getRoleName().isEmpty()){
            sql+=" and role_name like '%"+role.getRoleName()+"%' ";
        }
        System.out.println(sql); //控制台打印sql语句
        //执行sql

        return baseQueryList(Role.class,sql);
    }
相关推荐
爱学习的程序媛42 分钟前
【Web前端】JavaScript设计模式全解析
前端·javascript·设计模式·web
小码哥_常1 小时前
从SharedPreferences到DataStore:Android存储进化之路
前端
老黑1 小时前
开源工具 AIDA:给 AI 辅助开发加一个数据采集层,让 AI 从错误中自动学习(Glama 3A 认证)
前端·react.js·ai·nodejs·cursor·vibe coding·claude code
jessecyj1 小时前
Spring boot整合quartz方法
java·前端·spring boot
苦瓜小生1 小时前
【前端】|【js手撕】经典高频面试题:手写实现function.call、apply、bind
java·前端·javascript
天若有情6732 小时前
前端HTML精讲03:页面性能优化+懒加载,搞定首屏加速
前端·性能优化·html
踩着两条虫2 小时前
AI驱动的Vue3应用开发平台深入探究(十):物料系统之内置组件库
android·前端·vue.js·人工智能·低代码·系统架构·rxjava
swipe2 小时前
AI 应用里的 Memory,不是“保存聊天记录”,而是管理上下文预算
前端·llm·agent
慧一居士2 小时前
nuxt3 项目和nuxt4 项目区别和对比
前端·vue.js
威联通安全存储3 小时前
破除“重前端、轻底层”的数字幻象:如何夯实工业数据的物理底座
前端·python