차근차근 개발자 되기

JSP

61일차: JSP 일반 게시판(글 목록과 페이징 처리)_ 2021.09.08

wellow 2021. 9. 8. 23:17

일반 게시판 만들기: 글 목록과 페이징 처리

 

1) 많은 양의 데이터 입력하기

- 게시판을 만들 때 페이징(paging) 처리를 하기 위해서는 많은 양의 데이터가 필요하다. 이 때 Insert sql문으로 충분한 양의 데이터를 반복적으로 입력한다.

 

• 데이터 입력

insert into board0 values(board0_seq.nextval,'홍길동','test@naver.com','게시판 제목','0000',

                                            sysdate,0,'게시판 내용','211.183.1.1');

 

입력된 데이터 개수 확인

select count(*) from board0;

 

2) 페이징 처리 기본 변수

- 페이징 처리를 위해 선언해야 하는 기본 변수

 

① 한 페이지에 출력할 데이터(게시글) 수 ( ex. int page_size = 10; )

② 현재 페이지 ( ex. int currentPage = Integer.parseInt(pageNum); )

                                                            *String pageNum = request.getParameter("page");

③ 데이터베이스(DB)에 저장된 총 데이터 개수 ( ex. int count = dao.getCount(); )

                                                             *dao = DAO 객체, getCount() = 데이터 개수를 구하기 위해 생성한 메소드

 

3) 페이징 처리 파생 변수

- 생성한 기본 변수에서 파생되는 변수

 

① 각 페이지에 출력될 데이터 시작 번호 ( ex. int startRow = (currentPage - 1) * page_size + 1; )

② 각 페이지에 출력될 데이터 마지막 번호 ( ex. int endRow = currentPage * page_size; )

③ 각 페이지에 출력될 시작 번호 ( ex. int number = count - (currentPage-1) * page_size; )

④ 총 페이지 수 ( ex. int pageCount = count / page_size + ((count % page_size==0) ? 0 : 1); )

⑤ 각 블록의 시작 페이지 번호 ( ex. int startPage = ((currentPage-1)/10) * 10 + 1; )

⑥ 각 블록의 끝 페이지 번호 ( ex. int endPage = startPage + block - 1; )