DAY-58 JSP - 게시판 페이지네이션, 파일 올리기
😺 2022-05-24 / JSP
❗ 수업을 듣고, 개인이 공부한 내용을 적은 것 이기에 오류가 많을 수도 있음
1️⃣ 페이징 구현
필요한 목록
- 전체 게시글의 개수 // totalCnt
- 하나의 페이지에서 총 몇개의 게시글을 띄울 것인가 // recordCntPerPage
- 네비바에 몇개 단위로 페이징을 구성할지 // naviCntPerPage
- 총 몇개의 페이지가 나올지 // pageTotalCnt
총 페이지의 개수
- 148개의 게시글을 기준으로 10개씩 페이징을 해준다면 총 15개의 페이지가 나와야한다 → pageTotalCtn = 15;
- 148 / 10 = 14페이지 +1 = 15 페이지
- 140 / 10 = 14페이지 +1 = 15 페이지(x) -> 14 페이지여야 한다
값 방지 처리
- 현재 페이지는 반드시 1이상
- 현재 페이지는 총 페이지의 개수를 넘어갈 수없다
페이지네이션 숫자 Nav의 시작페이지와 끝 페이지 설정
- 현재 페이지를 기준으로 네비의 시작페이지, 끝 페이지를 잡을 것
- 만약 현재 페이지가 3페이지라면 네비의 시작 페이지 = 1 / 네비의 끝 페이지 = 5
- 만약 현재 페이지가 6페이지라면 네비의 시작 페이지 = 6 / 네비의 끝 페이지 = 10
- 시작 페이지 = ((현재 페이지 -1) / 페이지 단위 ) * 페이지 단위 + 1
<> 모양을 -> next, prev 모양을 넣어줄지 여부 검사
오라클
데이터를 row_number()을 이용하여 1~10개 11~20개 이런식으로 짤라서 보내줘야한다
→ seq 번호가 큰 번호인게 가장 최신이기 때문에 큰 seq를 큰 순서로 정렬을 해야한다
- seq_board순으로 orderby 한 row_number에 num이라는 이름으로 치환한다
- between의 숫자값을 dao에서 ? 로 해줘 값을 setInt로 우리가 설정해준다
게시글의 순위를 매겨서 특정 순위의 데이터 조회
출력 반복문(페이지네이션 번호)
board.jsp / boardController에서 받아온 map 값
board.jsp
- pageNum 이란 반복문에서 i 와 같은 요소 계속 동적으로 변화
- begin = 시작페이지 end = 끝 페이지 step = 1 → 하나씩 페이지 이동(즉 하나씩 숫자가 더해짐)
- li 클릭시 해당 숫자 번호 페이지로 이동
index.jsp
- 기존의 “/board.bo”;에서 바꿔준다
- 게시판 목록을 클릭하면 curPage=1 로 defualt되서 넘어간다
2️⃣ 파일 업로드
fileUpload.jsp
- input type =”file”
- 반드시 post 방식으로 전송
- form 태그에 enctype=”multipart/form-data
FileController.java
- cos 라이브러리 사용
- MultipartRequest 실제로 파일을 올릴수 있도록 돕는 class
Leave a comment