使用Layui制作的简单数据表格

目录 

1、创建

2、后台编写

3、前端编写


成果图:

1、创建

整体模板来自Layui前端框架文档,可自行参考。

先使用MybatisPlusGenerator 自动生成实体类、mapper、service、controller类。

2、后台编写

一些注解解释:

@NoArgsConstructor:无参构造方法
@AllArgsConstructor:有参构造方法
@Data:get,set方法
@Accessors(chain = true):链式访问
@SuppressWarnings("all"):错误信息隐藏

package com.hs.layui.controller;

/**
 * <p>
 * 职工表 前端控制器
 * </p>
 *
 * @author wj
 * @since 2022-06-17
 */
@RestController
@RequestMapping("/employee")
public class EmployeeController {

    @Autowired
    private IEmployeeService employeeService;

    @GetMapping("/list")
    public R<List<Employee>> list(PageBean pageBean,String name){
        //PageBean里面封装了分页的参数
        //根据分页的参数取数据库分页查询
        Page<Employee> page = employeeService.page(
                Page.of(pageBean.getPage(),pageBean.getLimit()),
            new QueryWrapper<Employee>().like(!StringUtils.isEmpty(name),"name",name));
        //page对象里面包含了 数据库的数据 records,还包含了总条数total
        return new R(0,"",page.getTotal(),page.getRecords());


    }

}

 找到layui文档

 通过点击上图的路径可跳转到下图

观察可看出:返回的对象中有

{

        "code":响应,响应码为0代表成功

         "msg":提示信息

         "count":数据总数

         "data":[ { },{ }... ]  对象

}

但如果和我一样没有前三个对象 ↓

咱就可以自己建一个专门返回数据的类,如下图

data返回的是数组,so

因为需要用到分页,所以要建一个PageBean的类来存放前端分页需要的字段

3、前端编写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>员工列表</title>
    <script src="${springMacroRequestContext.getContextPath()}/layui/layui.js"></script>
    <link rel="stylesheet" href="${springMacroRequestContext.getContextPath()}/layui/css/layui.css">
    <script src="${springMacroRequestContext.getContextPath()}/layui/config.js"></script>
</head>

<body>
<style>
    input{
        /*
        !important 最高优先级
        width:宽度  heigh:高度
         */
        border-color: black !important;
        width: 300px !important;
        /*
        块状block,行内inline,行内块状inline-block
         */
        display: inline-block !important;

    }

</style>

<div>
    <input class="layui-input" type="text" id="key" placeholder="请输入要查询的名称" />
    <button class="layui-btn layui-btn-normal" id = "search">搜索</button>
</div>

    <table id="empTable"></table>

<script>

    layui.use(['table',"jquery"],()=>{
        //获取table模块对象
        let table = layui.table
        let $ = layui.jquery

        $("#search").click(()=>{
            //拿到输入框的值
            let name = $("#key").val()
            //刷新表格的数据
            table.reload('empTable', {
               where: {
                    //设定异步数据接口的额外参数
                    name //直接把变量放进来,那么这个键的名称和变量名称保持一致
                }
                ,page: {
                    curr: 1 //重新从第 1 页开始
                }
            });
        })

        //渲染表格数据
        table.render({
            elem: '#empTable', //要被渲染的表格的id
            height: 470,
            url: '${springMacroRequestContext.getContextPath()}/employee/list', //数据接口
            page: true, //开启分页
            cols: [[ //表头
                //列的定义  列field和对象的属性要相同
                /*
                *   sort:是否可以排序
                *   fixed:文字是否固定在左侧
                */
                {field: 'id', title: '员工ID', width:130}
                ,{field: 'name', title: '员工名称'}
                ,{field: 'phone', title: '员工电话'}
                ,{field: 'deptNo', title: '员工类别', width:130}
                ,{field: 'address', title: '员工地址'}
            ]]
        });
    })

</script>

</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java中使用Layui数据表格,需要进行以下步骤: 1. 引入Layui的相关文件(CSS和JavaScript)到HTML页面中。 2. 在HTML页面中定义一个table元素,并使用Layui的class(例如:class="layui-table")使其变成Layui数据表格。 3. 在Java代码中,定义一个数据集(例如List),并将数据集中的数据转换成Layui数据表格所需的JSON格式数据。 4. 将JSON格式数据返回到HTML页面中,使用Layui的渲染函数(例如:layui.table.render)将JSON数据渲染到Layui数据表格中。 下面是一个示例代码,将Java中的数据集转换成Layui数据表格所需的JSON格式数据,并将其渲染到HTML页面中的Layui数据表格中: ```java import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class TableData { public static void main(String[] args) { // 定义数据集 List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> map1 = new HashMap<>(); map1.put("id", 1); map1.put("name", "张三"); map1.put("age", 20); list.add(map1); Map<String, Object> map2 = new HashMap<>(); map2.put("id", 2); map2.put("name", "李四"); map2.put("age", 25); list.add(map2); // 将数据集转换成JSON格式数据 String json = JSON.toJSONString(list); // 将JSON格式数据返回到HTML页面中,并使用Layui的渲染函数将其渲染到Layui数据表格中 String script = "<script>\n" + "layui.use('table', function(){\n" + " var table = layui.table;\n" + " table.render({\n" + " elem: '#test',\n" + " cols: [[\n" + " {field: 'id', title: 'ID'},\n" + " {field: 'name', title: '姓名'},\n" + " {field: 'age', title: '年龄'}\n" + " ]],\n" + " data: " + json + "\n" + " });\n" + "});\n" + "</script>"; System.out.println(script); } } ``` 在上面的示例代码中,我们先定义了一个数据集(List<Map<String, Object>>),然后将数据集转换成JSON格式数据,并将其作为参数传递给Layui的渲染函数(table.render)。在渲染函数中,我们指定了要渲染的HTML元素(elem)、表格列的定义(cols)和要渲染的数据(data)。最后,我们将整个Layui数据表格渲染的HTML代码作为字符串返回。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值