삶 가운데 남긴 기록 AACII.TISTORY.COM
servelt / jsp 페이징 처리 공식 본문
페이징 처리시 게시물 10개를 기준으로 10페이지씩 표기하는 방법을 기준으로 개발하는 것이 보통입니다.
endPage
endPage = (int)(Math.ceil(cri.getPage() / (double)displayPageNum) * displayPageNum);
cri.getPage()는 현재 페이지 번호를 의미합니다.
displayPageNum은 화면 하단에 페이징 버튼의 갯수를 의미합니다.
현재 페이지가 3일 때 : Math.ceil(3/10)*10 = 10 즉, endPage는 10입니다.
현재 페이지가 20일 때 : Math.ceil(20/10)*10 = 20 즉, endPage는 20입니다.
현재 페이지가 21일 때 : Math.ceil(21/10)*10 = 30 즉, endPage는 30입니다.
startPage
startPage = (endPage - displayPageNum) + 1;
시작 페이지는 화면에 10개씩 표시 된다면 endPage - 9 가 됩니다.
totalCount
endPage는 총 게시글 수, 페이지당 게시글 수와 연관이 있기 때문에 totalCount를 구하고 endPage를 다시 구해야 합니다.
int tempEndPage = (int)(Math.ceil(totalCount / (double)cri.getPerPageNum()));
if(endPage > tempEndPage){
endPage = tempEndPage;
}
prev, next
prev = startPage == 1 ? false : true;
next = endPage * cri.getPerPageNum() >= totalCount ? false : true;
728x90
'DEV&OPS > Java' 카테고리의 다른 글
Spring 어노테이션 (0) | 2023.01.13 |
---|---|
Spring 의존성 주입과 제어의 역전 (0) | 2023.01.13 |
Spring bean (0) | 2023.01.12 |
java.lang.ClassNotFoundException: sun.misc.GC 오류 (0) | 2022.12.19 |
이클립스 주석 템플릿 예제 (0) | 2022.12.15 |