jfinal结合layPage进行分页查询操作

来源:互联网 发布:序列比对动态规划算法 编辑:程序博客网 时间:2024/05/21 06:56

之前一直用的是layui数据表格里面的分页,然而有时需要显示商品,博客,这样还用表格里面的分页样式就不太合适,正好发现layui中有layPage组件

样式大概是这种的

首先看前台

layui.use('laypage', function(){  var laypage = layui.laypage;  var totalPage = $('#totalPage').val();          var totalRow = $('#totalRow').val();          var pageNumber = $('#pageNumber').val();          var pageSize = $('#pageSize').val();  laypage.render({    elem: 'test1' //注意,这里的 test1 是 ID,不用加 # 号    ,count:totalRow //数据总数,从服务端得到    ,limit:pageSize //显示条数    ,curr: pageNumber //获取起始页    ,jump: function(obj, first){        //obj包含了当前分页的所有参数,比如:       if(first!=true){//是否首次进入页面                         var currentPage = obj.curr;//获取点击的页码                             window.location.href ="${ctx}/friendlyMange/"+currentPage;                     }        }  });   }) //执行一个laypage实例
totalPage 总页数  totalRow 总行数 pageNumber 当前页数 pageSize 当前页显示条数

这四个参数都可以通过jfinal的paginate方法获取到

先看后台service

public Page<XFriendlylink> pageList(int pageNumber, int pageSize){return dao.paginate(pageNumber, pageSize, "select *","from x_friendlyLink order by x_linkId asc");}
后台的controller
public void index(){Integer pageNumber = getParaToInt(0);if(pageNumber==null){pageNumber = 1;}setAttr("flist", p.flink.pageList(pageNumber, 3));renderFreeMarker("friendly.html");}
pageNumber是当前页数,如果不给一个默认值会报500错误

然后前台通过freemarker取值

<input type="hidden" id="totalPage" value="${flist.totalPage}"><input type="hidden"  id="totalRow" value="${flist.totalRow}"><input type="hidden"  id="pageNumber" value="${flist.pageNumber}"><input type="hidden" id="pageSize" value="${flist.pageSize}">

好了前台的分页就可以正常使用了