使用layui分页

html页面

<div class="page-right">
        <div class="nytit">$!params.WZLX_NAME</div>
        <ul class="newslist ny" id="list">
        //分页的数据显示在这
        </ul>
        <div class="tcdPageCode" id="tcdPageCode" lay-event="tcdPageCode"></div>
    </div>

JS代码

<script>
    layui.use(['laypage', 'layer'], function () {
        var laypage = layui.laypage;
        page(1, 5);
        laypage.render({
            elem: 'tcdPageCode'
            , count: 70 //总数
            , limit: 5  //条数
            , curr: 1   //起始页
            , jump: function (obj, first) {
                console.log(obj.curr);
                if (!first) {
                    page(obj.curr, obj.limit);
                }
            }
        });
    });
    function page(curr, limit) {
        layui.$.ajax({
            type: "get",
            async: false,	//同步请求,true是异步请求
            url: "$base/web/showlistPage.do",
            data: {"startIndex": ((curr - 1) * 5) + 1, "endIndex": (curr * 5)}, //传到后台的数据
            dataType: "json",			//返回的数据格式
            success: function (data) {		//url执行成功后会返回到这里,data返回的数据
                console.log(data);			//控制台输出data的数据内容
                for (let item = 0; item < data.length; item++) {
                    $("#list").append(
                        '<li><a href="$base/web/showInfo.do?WZID={0}">{1}</a><span>{2}</span></li>'.format( data[item].WZID, data[item].WZ_NAME, data[item].GKSJ));
                        //format这个是单独在另外的js里写的,可以换个方式放数据
                }
            },
            error: function () {   //报错会执行这个方法
                alert("22");
            }
        })
    }
</script>

后台代码

 public Object showlistPage() {
        VelocityContext vc = new VelocityContext();
        Map<String, Object> params = this.getRequestParameters();
        params.put("STATE", "1");
        params.put("WZLX", "2");
        params.put("WZLX_NAME", "公示公告");
        List<Map> newData = new ArrayList<>();
        //数据库操作用try...catch...包起来,知道报错在哪,以免爆炸
        try {
            List<Map> data = PimDao.newInstance().selectList("T_WEB_WZ.selectlist", params);
            if (data != null) {            	//数组给数组赋值前,判断是不是为空,
                newData = getNewList(data);		//因为data里面有值为null或java.sql.date,会报错(java.lang.NullPointerException),所以转成string类型,
            }
        } catch (Exception a) {
            a.printStackTrace();
        }
        return View.toJson(newData);    //返回json数据,因为前端接收的数据类型是json,否则会报错
    }


    /**
     * 处理map中的null和java.sql.data类型数据
     * @param list
     * @return
     */
    private List<Map> getNewList(List<Map> list) {
        List<Map> result = new ArrayList<Map>();
        if (!list.isEmpty() && list.size() > 0) {
            Date date = new Date();
            for (Map map : list) {
                Map<String, String> tempMap = new HashMap<String, String>();
                for (Iterator i = map.keySet().iterator(); i.hasNext(); ) {
                    String key = (String) i.next();
                    if (map.get(key) == null) {
                        tempMap.put(key, "");
                    } else {
                        tempMap.put(key, map.get(key).toString().equals("") ? "" : map.get(key).toString());
                    }
                }
                result.add(tempMap);
            }
        }
        return result;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值