Criteria (기준들, 표준)
private int amount; // 한 페이지 출력 게시물의 수
private int pageNum; // 현재 페이지 번호
private String type; // 검색 타입
private String keyword; // 검색어
pageDTO
private final double NUM_PER_PAGE = 5.0; // 한 페이지에 표시 할 페이지 번호 수
private int start; // 시작 페이지 번호
private int end; // 끝 페이지 번호
private boolean previous; // 이전
private boolean next; // 다음
private Criteria criteria; // 페이지에 대한 정보 객체
생성자
public PageDTO(Criteria criteria, int totalCount) {
this.criteria = criteria;
int amount = criteria.getAmount();
int pageNum = criteria.getPageNum();
// 전체 페이지 개수
int pages = (int) Math.ceil((double) totalCount / amount);
// 표시될 끝 페이지
end = (int) (Math.ceil(pageNum / NUM_PER_PAGE) * NUM_PER_PAGE);
end = end >= pages ? pages : end; // 실제 끝 페이지 번호 확인
// 표시될 시작 페이지
start = (int) (end - (NUM_PER_PAGE - 1));
// 이전 버튼 표시 유무
previous = start > 1;
// 다음 버튼 표시 유무
next = end < pages;
}