package message.base.pagination; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 分页组件的处理类 * @author sunhao(sunhao.java@gmail.com) */ public class PaginationUtils { /** * 处理生成分页bean * @param items 当前要显示的list集合 * @param totalSize 数据库里总共有多少条 * @param num 每页显示的条数 * @param currentIndex 当前页数 * @return */ public static <T> PaginationSupport<T> makePagination(List<T> items,int totalSize, int num, int currentIndex){ int pageSize = getPageSize(num, totalSize); PaginationSupport<T> paginationSupport = new PaginationSupport(items, num, pageSize, currentIndex, totalSize); return paginationSupport; } /** * 验证的时候参数不够或者参数不合法的时候,返回null * * @return */ public static <T> PaginationSupport<T> getNullPagination(){ return new PaginationSupport<T>(new ArrayList<T>(), -1, 0, 0, 0); } /** * 计算共有多少页 * @param num 每页显示的条数 * @param totalSize 数据库中共有多少条 * @return */ private static int getPageSize(int num, int totalSize){ if((totalSize%num) == 0) { return (totalSize/num); } else { return (totalSize/num + 1); } } }