JAVA - 페이징 관련

1.
int startPage = ((pageNo - 1) / 5) * 5 + 1;
int finalPage = (totalCount + (listsize - 1)) / listsize;
int endPage = startPage + 5 - 1;
if (endPage > finalPage) {
       endPage = finalPage;
   }
int prevPageNo = 0;
int nextPageNo = 0;
boolean isNowFirst = pageNo == 1 ? true : false;
boolean isNowFinal = pageNo == finalPage ? true : false;
if (isNowFirst) {
     prevPageNo = 1;
 } else {
      prevPageNo = ((pageNo - 1) < 1 ? 1 : (pageNo - 1));
 }
if (isNowFinal) {
         nextPageNo = finalPage;
 } else {
     nextPageNo = ((pageNo + 1) > finalPage ? finalPage : (pageNo + 1));
 }

--------------------------------------------------------------------------------------------------

2.
// 페이징
int PAGE_CNT = 9;  // 표시할 페이지 수 (홀수여야 현재페이지를 가운데로 할 수 있다.)
int totPage = totalCount / numOfItem + ((totalCount % numOfItem > 0) ? 1 : 0);
if( pageNo < 1 ) pageNo = 1;
else if( numOfItem > totPage ) numOfItem = totPage;
int pageStart = pageNo - PAGE_CNT / 2;
if( pageStart < 1 ) pageStart = 1;
int pageEnd = pageStart + PAGE_CNT-1;
if( pageEnd > totPage ) {
pageEnd = totPage;
pageStart = pageEnd - (PAGE_CNT-1);
if( pageStart < 1 ) pageStart = 1;
}

요런식으로 하면 된다.
자꾸 잊어먹어서 적어둔다.

댓글