后台返回JSON数据格式不符合layui.table要求的数据格式

后台返回JSON数据格式不符合layui.table要求的数据格式

在ssm项目中使用了layui前端框架,但是由于layui.table方法要求后台返回的数据具有严格的格式,在尝试了layui官方文档提供的方法无效之后,个人写了一个工具类,负责转换后台返回的数据格式,成功实现,下面分享一下我的方法:

1.首先建立一个LayuiTypeJson实体工具类

package com.card.until;

import java.util.ArrayList;
import java.util.List;

public class LayuiTypeJson<T> {
    private int code=0;
    private String msg="";
    private int count;
    private List<T> data=new ArrayList<T>();
    public int getCode() {
        return code;
    }
    public void setCode(int code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public int getCount() {
        return count;
    }
    public void setCount(int count) {
        this.count = count;
    }
    public List<T> getData() {
        return data;
    }
    public void setData(List<T> data) {
        this.data = data;
    }
}

2.在controller层使用此方法返回数据

@RequestMapping("/a3")
    public LayuiTypeJson<User> findAllUsers() {
        List<User> list= new ArrayList<User>();
        list.add(new User("tom",20,"男"));
        list.add(new User("jack",20,"男"));
        list.add(new User("alice",20,"女"));
        LayuiTypeJson<User> layuiTypeJson=new LayuiTypeJson<User>();
        layuiTypeJson.setCount(list.size());
        layuiTypeJson.setData(list);
        return layuiTypeJson;
    }

3.在layui提供的方法获取接口数据

  <script>
    layui.use('table', function(){
        var table = layui.table;
        table.render({
            elem: '#demo'
            ,url:'/book/a3'
            ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
            ,cols: [[
                {field:'name', width:80, title: '用户名', sort: true}
                ,{field:'age', width:80, title: '年龄'}
                ,{field:'sex', width:80, title: '性别', sort: true}

            ]]
        });
    });
</script>

4.前端成功渲染后台数据

在这里插入图片描述
我们很多人在调用layui表格数据的方法是往往会忽略其对数据格式的要求,导致数据格式不符合,提示数据状态异常,通过工具类的方法可以有效解决此问题。

相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页