Recent Posts
Recent Comments
Link
11-17 00:00
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

servelt / jsp 페이징 처리 공식 본문

DEV&OPS/Java

servelt / jsp 페이징 처리 공식

ALEPH.GEM 2023. 1. 13. 11:27

 

페이징 처리시 게시물 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