分页技术

分页是一个常见而不可缺少的小技术,我们浏览各种网页时,肯定见过分页栏。
这就是一个常见的分页栏。
那么具体这个分页栏如何实现呢,我们现在先讲实现分页栏的实现类编写。
  1. Page类编写,这个类包含分类栏的各种信息,有当前页数、当前记录数、总页数、总记录数、是否有上一页、是否有下一页等等。

public class Page {
         private int itemCount;//每一页记录数
         private int totalCOunt;//总记录数
         private int currentPage;//当前页码
         private int tontalPage;//总页数
         private int beginIndex;//获取当前页的第一个记录位置
         private boolean hasPrePage;//是否还有上一页
         private boolean hasNextPage;//是否还有下一页
//省略getter和sette方法
}

  1. 编写好Page类之后,就要编写一个PageResult类,这个类用于保存分页信息与记录信息(即为页面要呈现的东西)。

public class PageResult {
         private Page page;//分页 信息
         private List list;//记录信息
         public Page getPage() {
                   return page;
         }
         public void setPage(Page page) {
                   this.page = page;
         }
         public List getList() {
                   return list;
         }
         public void setList(List list) {
                   this.list = list;
         }
}

3.然后就编写相应操作的工具类,用与在逻辑处理中创建分页使用。

public class PageUtil {
         public static Page createPage(int itemCount, int totalCount, int currentPage) {// 创建分页信息对象
                   return null;

         }

         public static int getItemCount(int itemCount) {// 获取每一页显示记录数
                   return itemCount == 0 ? 10 : itemCount;
         }

         public static int getCurrentPage(int currentPage) {// 获取当前页
                   return currentPage == 0 ? 1 : currentPage;
         }

         public static int getTotalPage(int itemCount, int totalCount) {// 获取总页数
                   int totalPage = 0;
                   if (totalCount != 0 && totalCount % itemCount == 0) {
                            return totalCount / itemCount;
                   } else {
                            return totalCount / itemCount + 1;
                   }
         }

         public static int getBeginIndex(int itemCount, int currentPage) {// 获取当前页
                   return (currentPage - 1) * itemCount;
         }

         public static boolean getHasPrePage(int currentPage) {// 是否还有上一页
                   return currentPage == 1 ? false : true;
         }

         public static boolean getHasNextPage(int totalPage, int currentPage) {// 是否还有下一页
                   return currentPage == totalPage || totalPage == 0 ? false : true;
         }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值