만들 게시물 예제는 다음과 같다.
뒤에 pageSize를 안 넣어주면 다시 이 목록으로 돌아갈 수 있다. 없으면 매번 맨 첫 페이지로 넘어가게 된다.
board.jsp는 게시물 내용을 보여주는 jsp이다.
테이블에 들어있는 데이터를 페이지 별로 가져올려면 select문에 LIMIT이라는 구문을 사용해야한다. offset은 얼마나 떨어져있는가를 나타낸다. row_count는 읽어올 row의 수를 말한다.
offset계산은 다음과 같이 page-1를 하고 10을 곱하면 된다.
beginpage가 1일때 endpage는 어떻게 구할까?
1 2 3 4 5 6 7 8 9
beginpage +10 -1 하면 된다 왜냐하면 1에서 10까지는 9이기 때문이다.
여기서 10은 naviSize이다.
만약 게시물이 적어서 naviSize보다 작다면 그럴때는 totalSize를 endpage의 값을 주면된다.
beginpage의 일의자리는 1로 끝나니 이를 쉽게 만드는 법
page/10 *10 +1
이렇게 하면 일의 자리가 날라가고 십의 자리면 남는다.
ex) 25/10 -> 2*10 -> 20 +1 = 21
이런 식으로 하면된다.
출처: 남궁성 스프링의 정석