PHP前端开发

layui和后端如何连起来

百变鹏仔 2个月前 (11-16) #layui
文章标签 后端

Layui前后台数据交互:

layui有自己的一套特定的数据格式交互(这很重要),必须参数code:0,msg:“”,count:数据size(int),data:”数据list”。一般我们选择封装返回接收类。 
layui前台js请求数据 
其中html代码

<link><script></script>

js代码

layui.use(['form','layer','table'], function(){          var table = layui.table          ,form = layui.form,$=layui.$;          table.render({            elem: '#test'  //绑定table id            ,url:'sys/menu/list'  //数据请求路径            ,cellMinWidth: 80            ,cols: [[              {type:'numbers'}              ,{field:'name', title:'菜单名称'}              ,{field:'parentName', title:'父菜单名称',width:150}              ,{field:'url', title: '菜单路径'}              ,{field:'perms', title: '菜单权限'}              ,{field:'type', title:'类型'}              ,{field:'icon', title:'图标'}              ,{field:'orderNum', title:'排序'}              ,{fixed: 'right',title: '操作', width:180,      align:'center', toolbar: '#toolBar'}//一个工具栏  具体请查看layui官网            ]]            ,page: true   //开启分页            ,limit:10   //默认十条数据一页            ,limits:[10,20,30,50]  //数据分页条            ,id: 'testReload'            });});

java后台代码

 @RequestMapping("/list")        @ResponseBody        @RequiresPermissions("sys:menu:list")        public Layui list(@RequestParam Map<string> params){            //查询列表数据            Query query = new Query(params);            List<sysmenuentity> menuList = sysMenuService.queryList(query);            int total = sysMenuService.queryTotal(query);            PageUtils pageUtil = new PageUtils(menuList, total, query.getLimit(), query.getPage());            return Layui.data(pageUtil.getTotalCount(), pageUtil.getList());        }</sysmenuentity></string>

Layui工具类代码

public class Layui  extends HashMap<string> {    public static Layui data(Integer count,List&gt; data){        Layui r = new Layui();        r.put("code", 0);        r.put("msg", "");        r.put("count", count);        r.put("data", data);        return r;    }}</string>

PageUtils在这里可有可无,你们可以自行封装

@Datapublic class PageUtils implements Serializable {    private static final long serialVersionUID = -1202716581589799959L;    //总记录数    private int totalCount;    //每页记录数    private int pageSize;    //总页数    private int totalPage;    //当前页数    private int currPage;    //列表数据    private List&gt; list;    /**     * 分页     * @param list        列表数据     * @param totalCount  总记录数     * @param pageSize    每页记录数     * @param currPage    当前页数     */    public PageUtils(List&gt; list, int totalCount, int pageSize, int currPage) {        this.list = list;        this.totalCount = totalCount;        this.pageSize = pageSize;        this.currPage = currPage;        this.totalPage = (int)Math.ceil((double)totalCount/pageSize);    }}

推荐:layui框架教程