public class Pagination {
public static PageInfo getPageInfo(int listCount, int currentPage, int pageLimit, int boardLimit) {
// * 총 페이지 수
int maxPage = (int)Math.ceil((double)listCount / boardLimit);
// * 시작 수
int startPage = (currentPage - 1) / pageLimit * pageLimit + 1;
// * 끝 수
int endPage = startPage + pageLimit - 1;
if(endPage > maxPage) {
endPage = maxPage;
}
return new PageInfo(listCount, currentPage, pageLimit, boardLimit, startPage, maxPage, endPage);
}
}
Java
복사
public class PageInfo {
private int listCount; // 총 게시글 개수
private int currentPage; // 현재 페이지
private int pageLimit; // 보여질 페이징바의 개수
private int boardLimit; // 한 번에 보여질 게시글 개수
private int startPage; // 시작페이지
private int maxPage; // 총 페이지 수
private int endPage; // 끝 페이지
public PageInfo(int listCount, int currentPage, int pageLimit, int boardLimit, int startPage, int maxPage, int endPage) {
super();
this.listCount = listCount;
this.currentPage = currentPage;
this.pageLimit = pageLimit;
this.boardLimit = boardLimit;
this.startPage = startPage;
this.maxPage = maxPage;
this.endPage = endPage;
}
}
Java
복사


