本篇介绍JFinal
项目的列表分页的功能实现。
JFinal列表分页
添加Page
类
在前篇JFinal项目的基础上。新建一个Page
类,提供一些Page
的操作。
////// Page类/// public class Page {/// 页面大小/// 页面索引/// 页面数量/// List数量 public static int pageSize = 9; private int pageIndex; private int pageCount; private int count; public Page(int pageIndex,int count){ if(count%pageSize==0){ this.pageCount = count/pageSize; }else{ this.pageCount = count/pageSize+1; } if(pageIndex>pageCount){ pageIndex = pageCount; } if(pageIndex<1){ pageIndex = 1; } this.pageIndex = pageIndex; this.count = count; } public Page(int pageSize,int pageIndex,int count){ this.pageSize = pageSize; if(count%pageSize==0){ this.pageCount = count/pageSize; }else{ this.pageCount = count/pageSize+1; } if(pageIndex>pageCount){ pageIndex = pageCount; } if(pageIndex<1){ pageIndex = 1; } this.pageIndex = pageIndex; this.count = count; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getPageIndex() { return pageIndex; } public void setPageIndex(int pageIndex) { this.pageIndex = pageIndex; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public int getCount() { return count; } public void setCount(int count) { this.count = count; }}
添加接口,获取List
在原HelloController
基础上添加方法IofoList
.
HelloService.java
:
static int count = 0; ////// 获取总数量 /// public static int getCount(){ String sql="select count(*) as count from dbName"; count = Integer.parseInt(Db.findFirst(sql).getLong("count").toString()); return count; } ////// 获取当前页面列表 /// public static Listget(Page page) { List list = null; int start = (page.getPageIndex() - 1) * page.getPageSize(); int pageSize = page.getPageSize(); String sql = "select * from dbName limit "+start+","+pageSize+" "; list = Db.find(sql); return list; }
HelloController.java
:
public void IofoList(){ // 获取页面参数 < pageIndex >页面索引值 int pageIndex = getParaToInt("pageIndex"); // 获取总数量 int count = HelloService.getCount(); Page page = new Page(Page.pageSize, pageIndex, count); Listlist = HelloService.get(page); Record pageInfo = new Record(); pageInfo.set("count", page.getCount()).set("pageIndex", page.getPageIndex()).set("pageCount", page.getPageCount()); // 返回 JSON 当前页面的list; //
页面信息: list总数, 页面总数, 当前页面索引 renderJson(new Record().set("list", list).set("pageInfo", pageInfo)); }
接口传来的数据:
调用接口
page.html
:
List1 List2 List3
1 2 3 共有: 1 条 共有: 1 页 页面显示: 1 条 << < 1 > >> GO
page.js
:
点击尾页: