//페이지 처리
pageNum = Integer.parseInt(request.getParameter("pageNum")); //현재 페이지
totalRecord = 총 레코드 갯수;
paging = 페이지 당 보여질 게시물 수;
pageingCount = Math.ceil(totalRecord / paging); // 총 페이지 수
start = paging * pageNum; // 페이지의 시작위치
//페이지 그룹 처리
pageGroup = 페이지 그룹에 포함될 페이지의 수;
pageGroupNum = Math.ceil((pageNum+1) / pageGroup); // 현재의 페이지 그룹
pageStart = (pageGroupNum - 1) * pageGroup + 1; //페이지 그릅의 첫페이지
pageEnd = pageStart + pageGroup - 1; // 페이지 그룹의 마지막 페이지
// 이전 그룹 처리
prevGroup = pageGroupNum - 1; // 이전 그룹
prevStart = (prevGroup - 1) * pageGroup; // 이전 페이지 그룹의 첫페이지
if(pageGroupNum != 1) {
?pageNum=prevStart;
}
// 페이지 출력
int j = 0;
for(int i = pageStart; i < pageEnd; i++) {
if(i > pageingCount) break;
j = i - 1;
?pageNum=j
}
//다음 그룹 처리
nextGroup = pageGroupNum + 1; // 다음 그룹
nextStart = (nextGroup -1) * pageGroup; // 다음페이지 그룹의 첫페이지
if(pageingCount > (nextGroup+1)) {
?pageNum=nextStart
}
댓글 없음:
댓글 쓰기