Layui与SSM整合时,数据处理问题。(我也是小白)

本文介绍了在使用Layui与SSM整合时如何处理数据分页的问题。Layui在表格渲染时会自动添加limit和page参数,后端需要在Controller中接收并计算出相应页码的数据。在Service层计算显示范围,Mybatis通过limit进行筛选,返回的数据需包含在data中,同时提供code、msg和count字段分别表示状态、消息和总条数。
摘要由CSDN通过智能技术生成

Layui在进行表格渲染时,会请求数据,url即我们请求数据的地址。在请求数据时,layui会默认在地址后面加上limit跟page,即每页显示的条数跟第几页,这两个值是有默认值的,当然我们也是可以自己定义。所以我们想分页显示表格数据时,要在后端的Controller中接收这两个参数,计算出需要显示的数据。下面是具体例子。

我在地址栏输入

会转到页面customType.jsp 

    @RequestMapping(value = "heatType.do")
    public String heatType(){
        return "heatType";
    }

 

此页面显示数据用的是layui的表格

  layui.use('table', function() {
        var table = layui.table
    ,form = layui.form;
        //第一个实例
        table.render({
            elem: '#customTypeList'
            , url: '/customTypeList.do' //数据接口
            , cols: [
                [ //表头
                    {field: 'type_name', title: '客户类型名称', width: 250, fixed: 'left'}
                    , {field: 'type_code', title: '客户类型编码', width: 250}
                    ,{field: 'available', title:'是否启用', width:250, templet: '#switchTpl', unresize: true}
                    , {fixed: 'right', width: 380, align: 'center', toolbar: '#deal'} //这里的toolbar值是模板元素的选择器
                ]
            ]
            , skin: 'row' //表格风格
            , even: true
            , page: true //是否显示分页
            , limit: 10
        });

这时候浏览器的network是这样显示的

然后我在后端接收了这些数据,并计算出需要显示的数据是哪些。主要是在service中计算出要显示第几条到第几条数据,然后在mybatis中用limit(?,?)找出来。要记得返回数据时把结果放在data里,还有code=0,msg=“”,count=?count则是数据总条数。

    @RequestMapping(value = "heatTypeList.do",method = RequestMethod.GET)
    public @ResponseBody Map<String, Object> getHeatTypeList(Integer page,Integer limit,String type_name,String type_code){
        try {
            Map<String, Object> map = new HashMap<>();
            if(type_name==""){
                type_name=null;
            }
            if(type_code==""){
                type_code=null;
            }
            List<HeatType> list = heatTypeService.getHeatTypeList(page,limit,type_name,type_code);
            Integer count=heatTypeService.getHeatTypeListCount(type_name,type_code);
            map.put("code", 0);
            map.put("msg", "");
            map.put("data", list);
            map.put("count",count);
            return map;
        }catch (Exception e){
            return null;
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值