우당탕탕 개발일지

13일차_게시판 프로젝트(6) 본문

개발 프로젝트/게시물 프로젝트

13일차_게시판 프로젝트(6)

ujin302 2024. 3. 20. 22:09
반응형

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 띄움 

 

참고 

https://minyakk.tistory.com/8

 

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

 

반응형