ホームページ  >  記事  >  ウェブフロントエンド  >  Lauiuiとバックエンドを接続する方法

Lauiuiとバックエンドを接続する方法

尚
オリジナル
2019-07-30 14:20:4414603ブラウズ

Lauiuiとバックエンドを接続する方法

Layui のフロントエンドとバックエンドのデータ対話:

layui には、独自の特定のデータ形式対話セットがあり (これは非常に重要です)、 code はパラメータ:0、msg: ""、count: データサイズ (int)、data: "データリスト" である必要があります。通常、受信クラスをカプセル化して返すことを選択します。
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 ツール クラス コード

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 フレームワーク チュートリアル

以上がLauiuiとバックエンドを接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。