우당탕탕 개발일지
13일차_게시판 프로젝트(6) 본문
1. 게시글 삭제
1-1. 동작 순서
1. 삭제 버튼 클릭
2. DB에서 데이터 삭제
3. 목록 화면 보여주기
1-2. 삭제 버튼 클릭
detail.html
1. board/delete/{id} 주소를 Get 방식으로 요청
1-3. DB에서 데이터 삭제
BoardController.java
1. Get 방식으로 요청 받음
2. delete 메소드 호출하여 DB 데이터 삭제 (아래 설명 참고)
3. redirect 를 사용하여 목록 화면 불러옴
BoardService.java
1. deleteById 메소드 사용하여 게시글 삭제
-> deleteById : 기본키 값에 해당하는 Row 삭제
1-4. redirect
redirect
다른 페이지로 이동 시켜주는 기능
return "redirect:/주소"
-> 해당 주소로 다시 URL 요청
-> URL 에 속하는 컨트롤러 내부 함수 실행
return "view"
-> view.html 띄움
참고
1-5. 유튜브 영상
https://www.youtube.com/watch?v=-xgnJM2JJEg&list=PLV9zd3otBRt7jmXvwCkmvJ8dH5tR_20c0&index=8
2. 게시글 페이징(1)
2-1. 페이징 처리?
모든 데이터를 보여주지 않고 일정 개수씩 끊어서 페이지에 구성
사진의 하단 네모 박스 처럼!!
2-2. 유튜브 영상
https://www.youtube.com/watch?v=Vanl4wcAPW0&list=PLV9zd3otBRt7jmXvwCkmvJ8dH5tR_20c0&index=9
3. 게시글 페이징(2)
3-1. 페이지목록 버튼 클릭
index.html
1. pagingReq 메소드 호출
2. http://localhost:8082/board/paging 주소 요청 (Get 방식)
3-2. 페이징 처리 방식
방식 1. 아이템 개수 설정
아래 네이버 쇼핑처럼 화면에 나타날 아이템 개수 설정
-> 클라에서 서버 측에 아이템 개수 전달
-> 서버 측은 그에 따라 보여주는 개수 다르게 설정
-> 그에 따른 페이지 개수 계산
URL를 보면 pagingSize=40 으로 되어 있다.
한 페이지에 40개씩 보여주겠다는 의미이다.
방식 2. 지정된 아이템 개수
지정되어 있는 아이템 개수로 페이징 처리
지정된 아이템 개수에 따른 페이지 개수 계산
3-3. Server
BoardController.java
1. @PageableDefault(page = 1) -> 페이지 디폴트 설정 1
2. pageable -> page 정보 가져옴
3. Service에서 paging 메소드 호출
board/paging으로 요청이 들어왔지만 실제로는 /board/paging?page=1 형식으로 응답함
BoardService.java
1. PageRequest를 통해 데이터 가져오기
2. page
-> page 위치에 있는 값은 0부터 시작함. 따라서 10 페이지를 요청하면 9 페이지로 데이터를 찾아야함.
3. pageLimit
-> 한 페이지에 보여줄 아이템 개수
[ 총 정리 ]
- 한 페이지 당 3개씩 아이템을 보여줌
- id 컬럼 기준으로 내림차순 정렬
3-4. 유튜브 영상
https://www.youtube.com/watch?v=iIyx2rS8FQw&list=PLV9zd3otBRt7jmXvwCkmvJ8dH5tR_20c0&index=10
'개발 프로젝트 > 게시물 프로젝트' 카테고리의 다른 글
15일차_게시판 프로젝트(8) (0) | 2024.03.22 |
---|---|
14일차_게시판 프로젝트(7) (0) | 2024.03.21 |
12일차_게시판 프로젝트(5) (0) | 2024.03.19 |
11일차_게시판 프로젝트(4) (0) | 2024.03.18 |
10일차_게시판 프로젝트(3) (0) | 2024.03.15 |