적용 방법
paging을 하고 싶은 페이지에 업로드 된 paging.jsp를 include 한다.
작업 순서
1. Paging 정보를 가지고 있을 Bean 객체를 만든다. 이 Paging Class는 다음과 같은 property를 가진다. 이와 같은 Paging class는 다른 Bean class에서 상속 받아 사용할 수도 있다
[[ PagingBean.java ]]
① private int nowPage;
// 현재 페이지가 몇페이지 인가를 적용
② private int startNum;
// 게시판이 시작되는 ROW의 Number
③ private int totalCount;
// 게시판 총 페이지 수
④ private int countPerPage;
// 페이지당 보여줄 게시판 리스트 갯수
⑤ private int blockCount;
// paging 갯수를 표현함 예를 들어 blockCount = 5 라면
<< [1][2][3][4][5] 다음 >> -> 다음을 클릭하면
<< [6][7][8][9][10] 다음 >> -> 이런 식으로 페이징 수가 5개가 된다.
⑥ private String searchColumn;
// 검색할 때 사용, 카테고리 선택
⑦ private String searchWord;
// 검색어
2. 기본적으로 늘 초기화 세팅이 되어 있어야할 countPerPage 라든가 blockCount, startNum을 초기화 세팅해줄 PaingUtil Class를 생성한다.
초기화 세팅하지 않을 util 클래스를 작성하지 않으면 페이징 시에 항상 세팅을 해주어야 한다.
만약 페이징 할 모듈이 많고 각각 다른 세팅값을 가져야 한다면 사용자의 요구에 맞게 static method를 정의해 주고 그 안에 있는 값을 세팅을 각각 맞춰서 해주면 된다.
3. Paging을 할 페이지에 paging.jsp 파일을 다음과 같이 include 시킨다.
<jsp:include page="paging.jsp">
<jsp:param name="actionPath" value="boardList.jsp"/>
<jsp:param name="totalCount" value="<%=String.valueOf(paging.getTotalCount()) %>"/>
<jsp:param name="countPerPage" value="<%=String.valueOf(paging.getCountPerPage()) %>"/>
<jsp:param name="blockCount" value="<%=String.valueOf(paging.getBlockCount()) %>"/>
<jsp:param name="nowPage" value="<%=String.valueOf(paging.getNowPage()) %>"/>
</jsp:include>
물론 이 페이지를 인클루드 시키기 전에 위에 파라미터로 넘겨주는 모든 값은 세팅이 되어 있어야 한다.
페이지의 맨상단에서 다음과 같은 코드로 파라미터로 넘어오는 nowPage를 받아야 한다.
if(request.getParameter("nowPage") == null){
paging.setNowPage(1);
}else{
paging.setNowPage(Integer.valueOf(request.getParameter("nowPage")));
}
totalCount는
SELECT COUNT(0) FROM 테이블 명
이런 Query문을 날려서 값을 받아 오는 값을 저장하면 된다.