package com.jshoperx.action.backstage.utils; /** * Created with sdywcd@gmail.com * Author:sdywcd@gmail.com * Date:15/7/23 * Time:下午5:04 * Note:页面分业辅助工具 **/ public class PageIndex { private static final int INDEX_SEARCH = 2; private long startindex; private long endindex; public PageIndex(long startindex, long endindex) { this.startindex = startindex; this.endindex = endindex; } public long getStartindex() { return startindex; } public void setStartindex(long startindex) { this.startindex = startindex; } public long getEndindex() { return endindex; } public void setEndindex(long endindex) { this.endindex = endindex; } /** * 页码算法 * @param viewpagecount 显示的页码数 * @param currentPage 当前顿 * @param totalpage 总页敿 * @return PageIndex 页码对象 */ public static PageIndex getPageIndex(long viewpagecount, int currentPage, long totalpage) { long startpage = currentPage - (viewpagecount % INDEX_SEARCH == 0 ? viewpagecount / INDEX_SEARCH - 1 : viewpagecount / INDEX_SEARCH); long endpage = currentPage + viewpagecount / INDEX_SEARCH; if (startpage < 1) { startpage = 1; if (totalpage >= viewpagecount) { endpage = viewpagecount; } else { endpage = totalpage; } } if (endpage > totalpage) { endpage = totalpage; if ((endpage - viewpagecount) > 0) { startpage = endpage - viewpagecount + 1; } else { startpage = 1; } } return new PageIndex(startpage, endpage); } }