| package com.supersavedriving.user.core.support; | 
|   | 
| /** | 
|  * 分页工具类 | 
|  *  | 
|  * @author xiaoleilu | 
|  *  | 
|  */ | 
| public class PageKit { | 
|   | 
|     /** | 
|      * 将页数和每页条目数转换为开始位置和结束位置<br> | 
|      * 此方法用于不包括结束位置的分页方法<br> | 
|      * 例如:<br> | 
|      * 页码:1,每页10 -> [0, 10]<br> | 
|      * 页码:2,每页10 -> [10, 20]<br> | 
|      * 。。。<br> | 
|      *  | 
|      * @param pageNo | 
|      *            页码(从1计数) | 
|      * @param countPerPage | 
|      *            每页条目数 | 
|      * @return 第一个数为开始位置,第二个数为结束位置 | 
|      */ | 
|     public static int[] transToStartEnd(int pageNo, int countPerPage) { | 
|         if (pageNo < 1) { | 
|             pageNo = 1; | 
|         } | 
|   | 
|         if (countPerPage < 1) { | 
|             countPerPage = 0; | 
| //            LogKit.warn("Count per page  [" + countPerPage + "] is not valid!"); | 
|         } | 
|   | 
|         int start = (pageNo - 1) * countPerPage; | 
|         int end = start + countPerPage; | 
|   | 
|         return new int[] { start, end }; | 
|     } | 
|   | 
|     /** | 
|      * 根据总数计算总页数 | 
|      *  | 
|      * @param totalCount | 
|      *            总数 | 
|      * @param numPerPage | 
|      *            每页数 | 
|      * @return 总页数 | 
|      */ | 
|     public static int totalPage(int totalCount, int numPerPage) { | 
|         if (numPerPage == 0) { | 
|             return 0; | 
|         } | 
|         return totalCount % numPerPage == 0 ? (totalCount / numPerPage) | 
|                 : (totalCount / numPerPage + 1); | 
|     } | 
| } |