之前一直用的是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}">
好了前台的分页就可以正常使用了