>  기사  >  웹 프론트엔드  >  Layui와 백엔드를 연결하는 방법

Layui와 백엔드를 연결하는 방법

尚
원래의
2019-07-30 14:20:4414597검색

Layui와 백엔드를 연결하는 방법

Layui 프런트엔드 및 백엔드 데이터 상호 작용:

layui에는 고유한 특정 데이터 형식 상호 작용 세트가 있습니다( 이는 매우 중요합니다), 매개변수는 code: 0, msg: "", count: 데이터 크기(int), data: "data List"이어야 합니다. 일반적으로 우리는 수신 클래스를 캡슐화하고 반환하도록 선택합니다.
Layui 프론트엔드 js 요청 데이터
html 코드

<link rel="stylesheet" href="static/layui/css/layui.css" media="all" />
<script type="text/javascript" src="static/layui/layui.js"></script>
<table class="layui-hide" id="test" lay-filter="table"></table>

js 코드

layui.use([&#39;form&#39;,&#39;layer&#39;,&#39;table&#39;], function(){
          var table = layui.table
          ,form = layui.form,$=layui.$;

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

java 백엔드 코드

 @RequestMapping("/list")
        @ResponseBody
        @RequiresPermissions("sys:menu:list")
        public Layui list(@RequestParam Map<String, Object> 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());
        }

Layui 도구 클래스 code

public class Layui  extends HashMap<String, Object> {

    public static Layui data(Integer count,List<?> data){
        Layui r = new Layui();
        r.put("code", 0);
        r.put("msg", "");
        r.put("count", count);
        r.put("data", data);
        return r;
    }
}

PageUtils는 여기서 선택 사항이므로 직접 캡슐화할 수 있습니다

@Data
public class PageUtils implements Serializable {
    private static final long serialVersionUID = -1202716581589799959L;
    //总记录数
    private int totalCount;
    //每页记录数
    private int pageSize;
    //总页数
    private int totalPage;
    //当前页数
    private int currPage;
    //列表数据
    private List<?> list;
    /**
     * 分页
     * @param list        列表数据
     * @param totalCount  总记录数
     * @param pageSize    每页记录数
     * @param currPage    当前页数
     */
    public PageUtils(List<?> 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 프레임워크 튜토리얼

위 내용은 Layui와 백엔드를 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.