728x90
반응형
일단 VIEW 는 본인이 사용중인 템플릿에 아래 코드를 복붙한다
<div class="pagination">
<ul>
<li th:if="${nowPage != 1}">
<a class="btn" th:href="@{/조회 URL}+'?page='+${nowPage-1}"><</a>
</li>
<li th:if="${endPage != 0}" th:each="page:${#numbers.sequence(startPage, endPage)}">
<a class="btn" th:if="${page != nowPage}" th:href="@{/조회 URL}+'?page='+${page}" th:text="${page}"></a>
<strong class="btn" th:if="${page == nowPage}" th:text="${page}"></strong>
</li>
<li th:if="${endPage == 0}" th:each="page:${#numbers.sequence(startPage, 1)}">
<a class="btn" th:if="${page != nowPage}" th:href="@{/조회 URL}+'?page='+${page}" th:text="${page}"></a>
<strong class="btn" th:if="${page == nowPage}" th:text="${page}"></strong>
</li>
<li th:if="${nowPage < totalPage}">
<a class="btn" th:href="@{/조회 URL}+'?page='+${nowPage+1}">></a>
</li>
</ul>
</div>
CONTROLLER
@GetMapping("/아까 그 URL")
String pagingList(Model model, Pageable pageable) {
Page<사용하는 엔티티> p = null;
p = 사용하는서비스.findPagingList(pageable, "idx");
int totalPage = p.getTotalPages();
int nowPage = p.getPageable().getPageNumber() + 1;
int startPage = Math.max(nowPage - 4, 1);
int endPage = Math.min(nowPage + 4, p.getTotalPages());
model.addAttribute("boardList", p);
<!-- 타임리프 th:each에 넣을것 매핑
예: <tbody class="table-content" th:each="board : ${boardList}">
-->
model.addAttribute("totalPage", totalPage);
model.addAttribute("nowPage", nowPage);
model.addAttribute("startPage", startPage);
model.addAttribute("endPage", endPage);
return "사용하는 HTML";
}
SERVICE
//페이징하여 보드 반환
public Page<사용하는 엔티티> findPagingList(Pageable pageable, String column) {
<!-- 아까 가져온 그 idx 로 정렬하는 작업 -->
Sort sort = Sort.by(column).descending();
<!-- 페이지가 어디부터 시작해서 한 페이지에 몇개를 보여줄지 정하는 것 :
여기서는 1페이지부터 10개씩 보여주기로 정했다.
-->
pageable = PageRequest.of(pageable.getPageNumber() <= 0 ? 0 : pageable.getPageNumber() - 1,
10,
sort);
<-- 사용하는 Repository에 모두 가져오도록 호출한 것 -->
return 사용하는 리포지토리.findAll(pageable);
}
728x90
반응형
'개발자 전향 프로젝트' 카테고리의 다른 글
체크박스 활용하기 (Multiple Selection 수정or삭제) - 1/2 (0) | 2022.09.30 |
---|---|
[Front] 스크롤은 가능하되 스크롤 안 보이게 하기 (쉬움) (0) | 2022.09.29 |
[Spring Boot] 세상 쉬운 검색창(검색 로직) 만들기 1-2 (백 로직) (0) | 2022.09.24 |
[Spring Boot] 세상 쉬운 검색창(검색 로직) 만들기 1-1 (View) (0) | 2022.09.24 |
[Spring] 모달 쉽게 띄우기 + 모달에 매개변수 값 전달하기 (타임리프) (2) | 2022.09.21 |