Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/10월

22.10.07 - [ Spring ] 게시글 수정하기, 페이징 처리하기

giggs 2022. 10. 12. 14:45

-- INDEX --


1. 게시글 수정하기 2. 페이징 처리하기
게시글 수정 버튼 만들기 페이징 <a>링크 만들기
PageVo 클래스 만들기
게시글 수정 페이지 만들기 PageVo [ 객체 생성, 값 세팅, 객체 리턴 ] 메서드 생성
목록조회시 - PV 전달 - RowBounds 객체 활용
수정 요청 처리하기 @PathVariable, PV 화면까지 전달
화면 - PV활용하여 페이징처리, 이전/다음버튼 처리







1. 게시글 수정하기

1-1 : 수정 버튼 만들고 조건에 맞게 버튼 보여주기

  • 게시글 상세조회 페이지 - detail-content.jsp 에서 작업
  • 게시글 상세조회했을 때 작성자 본인이라면 – 수정하기 / 삭제하기 버튼 생기도록 해주기




1-2 : 게시글 수정 페이지 만들기

  • 게시글 수정 페이지 - edit-content.jsp 에서 작업
  • detail-content 화면 복붙 해서 수정 작업






1-3 : 수정 요청 처리 작업 해주기

  • 컨트롤러









2. 페이징 처리



2-1 : 페이징 처리 화면 먼저 만들어 놓기

  • <a태그>로 1~5 만들어주고
  • display:flex와 justify-content: space-evenly 적용






2-2 : PageVo 만들기

  • sql로 처리할 때는 페이징에 필요한 것들 계산하고 전달해서 처리해주었었다.
  • myBatis의 RowBounds 활용하여 페이징 처리해주기



  • myBatis를 활용하면 RowBounds를 사용해서 sql 구문 수정 없이 페이징 처리 가능하다.
  • RowBounds 사용하기 위해서는 PageVo 필요하다.
  • PageVo에는 [ listCount , currentPage , pageLimit, boardLimit, maxPage, startPage, endPage ]



# 롬복 이용하여 게터/세터/생성자 만들어주기



2-3 : pageVo [ 객체 생성, 값 세팅, 객체 리턴 ] 하는 함수 만들기

  • 위에 4개 값은 입력받는 거고 ( listCount, currentCount, pageLimit, boardLimit )
  • 밑에 3개 계산하는 과정이 복잡하였다.( maxPage, startPage, endPage)


###

위에 4개의 값은 메서드 호출 시 파라미터로 받아오고,
나머지 계산이 필요한 3가지 계산하고
7개의 값 모두 세팅해놓은 PageVo 리턴하는
메서드 만들어주자.

###


새로운 클래스 생성한 뒤 static 메서드로 만들어 주었다.


이제 pageVo 생성 만들어내는 거 완료
RowBounds 사용하러 가보자




2-4 : 목록 조회 메서드에 PageVo 객체 같이 전달하도록 수정


# 전체글갯수는 db에 한 번 다녀와야 한다. #




2-5 : 전달받은 pv를 활용하여 RowBounds 생성해주기

  • dao에서 RowBounds 생성
  • RowBounds 객체 생성 시 - offset, limit 전달해주어야 한다.



# 리밋은 알고 있다– 한 페이지에 보여줄 최대 개수 – boardLimit

# offset 계산 후 RowBounds 객체 생성



# 생성한 RowBounds 객체를 파라미터의 3번째 순서로 전달해주어야 한다.



2-6 : 컨트롤러 쪽 수정

  • pathValue 사용하도록 수정
  • 생성한 pv 화면 쪽까지 전달하도록 수정





2-7 : 화면 쪽 마무리


# 버튼 작업


# 이전 버튼 다음 버튼 만들기