페이징 함수화
저번 포스팅에서 작성한 페이징 로직 코드를 함수화하여
웹 페이지에 페이징 기능을 적용할 수 있도록 하였다.
페이징 함수를 사용한 서비스 로직이다.
페이징을 위해 필요한 변수를 생성자를 통해 세팅을하고,
Paging pg = new Paging(한 페이지에 보여줄 글의 개수, 총 콘텐츠 개수, 이동할 페이지, 한 페이징 목록에 보여줄 페이지 개수, 요청 URI)
makePagingHTML 함수로 페이징 문자열을 가져온다.
저번 포스팅에서 작성한 페이징 코드 중
콘솔로 페이징을 출력했던 부분을
페이징 HTML 코드를 문자열 형태로 만들어 반환하는 형식으로 변경하였다.
(페이징 로직의 전체 코드와 상세 설명은 아래 글에서 다뤘다.)
[Spring Boot] 웹 페이징(Paging) 구현(1)
페이징 웹사이트를 이용하다보면 많은 양의 글들이 페이지로 나누어져 있는 것을 볼 수 있다. 이번 포스팅에서 웹 페이징의 원리와 구현 방법에 대해 다뤄볼 예정이다. 페이징 기능 구현 페이징
rthfickro3.tistory.com
아래 이미지는 페이징 HTML코드를 문자열 형태로 만드는 부분이다.
이런 식으로 페이징 HTML코드를 문자열 형태로 만들어
이 값을 모델에 담고 웹에 뿌려주는 식이다.
모델에 담긴 페이징 문자열을 뿌려주기만 하면 페이징이 적용이 된다.
위 코드는 게시물을 가져오는 부분이다.
게시물을 가져올 때 이동할 페이지의 콘텐츠만 가져와야 하기 때문에
몇 번째부터 몇 개의 콘텐츠를 가져올지 파라미터를 정하여
SELECT쿼리로 조회할 때 위 파라미터로 LIMIT를 걸어
해당 페이지의 콘텐츠만 가져오도록 하였다.
프로젝트는 아래 gitHub주소에서 확인할 수 있다.
https://github.com/rthfickro3/BackOffice
GitHub - rthfickro3/BackOffice
Contribute to rthfickro3/BackOffice development by creating an account on GitHub.
github.com
RESULT
'Spring, Spring Boot' 카테고리의 다른 글
[Spring Boot] HTTP 통신을 위한 RestTemplate사용 (0) | 2022.05.07 |
---|---|
[Spring Boot] MyBatis typeAlias 지정하기 (0) | 2022.04.01 |
[Spring Boot] Thymeleaf 템플릿 사용하여 공통 레이아웃 구성하기 (0) | 2022.03.24 |
[Spring Boot] 웹 페이징(Paging) 구현(1) (0) | 2022.03.17 |
[Spring Boot] form을 이용해 데이터 전송하여 DB INSERT까지 (0) | 2021.11.29 |