Spring, Spring Boot

[Spring Boot] 웹 페이징(Paging) 구현(2)

Yoon 2022. 3. 28. 14:19

페이징 함수화

저번 포스팅에서 작성한 페이징 로직 코드를 함수화하여

웹 페이지에 페이징 기능을 적용할 수 있도록 하였다.

 

ManagementService.java

페이징 함수를 사용한 서비스 로직이다.

페이징을 위해 필요한 변수를 생성자를 통해 세팅을하고,

Paging pg = new Paging(한 페이지에 보여줄 글의 개수, 총 콘텐츠 개수, 이동할 페이지, 한 페이징 목록에 보여줄 페이지 개수, 요청 URI)

makePagingHTML 함수로 페이징 문자열을 가져온다.

 

저번 포스팅에서 작성한 페이징 코드 중

콘솔로 페이징을 출력했던 부분을

페이징 HTML 코드를 문자열 형태로 만들어 반환하는 형식으로 변경하였다.

 

(페이징 로직의 전체 코드와 상세 설명은 아래 글에서 다뤘다.)

https://rthfickro3.tistory.com/entry/Spring-4-%EC%9B%B9-%ED%8E%98%EC%9D%B4%EC%A7%95Paging-%EA%B5%AC%ED%98%841?category=1007906 

 

[Spring Boot] 웹 페이징(Paging) 구현(1)

페이징 웹사이트를 이용하다보면 많은 양의 글들이 페이지로 나누어져 있는 것을 볼 수 있다. 이번 포스팅에서 웹 페이징의 원리와 구현 방법에 대해 다뤄볼 예정이다. 페이징 기능 구현 페이징

rthfickro3.tistory.com

 

아래 이미지는 페이징 HTML코드를 문자열 형태로 만드는 부분이다.

Paging.java

이런 식으로 페이징 HTML코드를 문자열 형태로 만들어

이 값을 모델에 담고 웹에 뿌려주는 식이다.

모델에 담긴 페이징 문자열을 뿌려주기만 하면 페이징이 적용이 된다.

 

ManagementService.java

위 코드는 게시물을 가져오는 부분이다.

게시물을 가져올 때 이동할 페이지의 콘텐츠만 가져와야 하기 때문에

몇 번째부터 몇 개의 콘텐츠를 가져올지 파라미터를 정하여

SELECT쿼리로 조회할 때 위 파라미터로 LIMIT를 걸어

해당 페이지의 콘텐츠만 가져오도록 하였다.

콘텐츠 SELECT 쿼리

 

프로젝트는 아래 gitHub주소에서 확인할 수 있다.

https://github.com/rthfickro3/BackOffice

 

GitHub - rthfickro3/BackOffice

Contribute to rthfickro3/BackOffice development by creating an account on GitHub.

github.com


RESULT

결과 화면
makePagingHTML함수에서 만든대로 페이징 HTML이 적용된 것을 확인할 수 있다.