json count参数获得

json count参数获得

// table渲染为数据表格
l

ayui.table.render({
   elem : "#grdFormList" , //选择器
   id : "grdFormList" , //id
   url : "/leave/list" , //ajax请求url
   page : false , //是否分页 true-是 false-否
   cols :[[ //列描述
       {title : "" , width:70 , style : "height:60px" , type:"numbers"}, // numbers代表序号列
       {field : "create_time" , title : "申请时间" , width : 150 , templet: function (d) {
           //templet代表对数据进行加工后再显示
           return formatDate(d.create_time)
       }},
       {field   : "form_type" , title : "类型" , width : 100 , templet: function(d){
           switch (d.form_type) {
               case 1:
                   return "事假";
               case 2:
                   return "病假";
               case 3:
                   return "工伤假";
               case 4:
                   return "婚假";
               case 5:
                   return "产假";
               case 6:
                   return "丧假";
           }
       }},
       {field : "department_name" , title : "部门" , width : 100},
       {field : "name" , title : "员工" , width : 100},
       {field : "start_time" , title : "起始时间" , width : 150, templet: function (d) {
               return formatDate(d.start_time)
           }},
       {field : "end_time" , title : "结束时间" , width : 150 , templet: function (d) {
               return formatDate(d.end_time)
           }},
       {field : "reason" , title : "请假原因" , width : 350 },
       {title : "" , width:150 ,type:"space" , templet : function(d){
           var strRec = JSON.stringify(d);
           console.info("请假单数据", strRec);
           //将请假单数据存放至data-laf属性中
           return "<button class='layui-btn layui-btn-danger layui-btn-sm btn-audit' data-laf=" + strRec + " >审批</button>";
       }}
   ]]
})

问题描述:

这里我想实现分页,但是 page : true不能完全实现我的需求,好像还需要整个列表的长度,就是LeaveFormServlet.java中getLeaveFormList 返回的json的count参数有

相关代码:

private void getLeaveFormList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    User user = (User)request.getSession().getAttribute("login_user");
    List<Map> formList = leaveFormService.getLeaveFormList("process",user.getEmployeeId());
    Map result = new HashMap();
    result.put("code","0");
    result.put("msg","");
    result.put("count",formList.size());
    result.put("data",formList);
    String json = JSON.toJSONString(result);
    response.getWriter().println(json);
}

在上述的JS程序中要怎么获得,

而且仅仅把参数置位true实现不了分页

相关截图:

http://img1.sycdn.imooc.com//climg/60447b4e09363d7b08290111.jpg

我总共126行数据,他全部给我展示了,而且,还能分页,就是在原有的基础上把126行数据有加了十行变为136行展示在第二页上,




正在回答

登陆购买课程后可参与讨论,去登陆

3回答

前端使用page:true;开启分页查询就可以了,主要是后台返回的数据是不是分页查询的数据,如果使用PageHelper,可以看一下这个博客:https://blog.csdn.net/weixin_44130574/article/details/111601556



好帮手慕阿满 2021-03-08 14:08:09

同学你好,如果后台返回的分类后的Page类型数据,在页面中,只需要page: true开启分页即可。同学可以参考layui分页文档:https://www.layui.com/demo/table/page.html

祝学习愉快~

  • 提问者 ymy_monkeyking #1

    你这个肯定是有问题的,我现在总共126行数据,一次展示126行,展示完126行数据以后依然可以向后翻页,第一页是126行数据,第二页展示136行数据,就是在原有的基础上从第是一行开始展示,所以只是单纯置位的方法是错误的

    http://img1.sycdn.imooc.com//climg/6045c9e009afbfec04540137.jpg

    http://img1.sycdn.imooc.com//climg/6045ca1b098c68d111030125.jpg

    总共126行数据,展示完了以后依然可以翻页,第二页展示:

    http://img1.sycdn.imooc.com//climg/6045ca7a09df18f205360120.jpg

    就是原来的第一行,变为了第十一行

    2021-03-08 14:56:35
  • 好帮手慕阿满 回复 提问者 ymy_monkeyking #2

    同学你好,后台getLeaveFormList()方法中返回的data应该是当前页面的数据,这里应该是分页查询的结果,而不是全部的数据。建议同学修改后台的代码。

    祝学习愉快~

    2021-03-08 18:02:17
好帮手慕阿满 2021-03-07 17:26:28

同学你好,在LeaveFormServlet.java中getLeaveFormList()方法中,同学需要做一些修改。方法参数上需要增加两个参数,一个是第几页,一个是一页显示多少条数据。然后sql语句查询第几页的数据,将查询的数据转换为Page类型返回给前台。

祝学习愉快~

  • 提问者 ymy_monkeyking #1

    如何把返回的json的参数取出来呢?

    2021-03-07 20:09:58
  • 提问者 ymy_monkeyking #2

    将服务器返回前端显示页面的参数取出来

    2021-03-07 20:10:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师