페이징 (3-02)

seheeee_97·2023년 11월 27일

스프링부트

목록 보기
19/20

페이지 객체의 속성

항목설명
paging.isEmpty페이지 존재 여부 (게시물이 있으면 false, 없으면 true)
paging.totalElements전체 게시물 개수
paging.totalPages전체 페이지 개수
paging.size페이지당 보여줄 게시물 개수
paging.number현재 페이지 번호
paging.hasPrevious이전 페이지 존재 여부
paging.hasNext다음 페이지 존재 여부

페이징 기능

페이징 기능코드
이전 페이지가 없으면 비활성화th:classappend="${!paging.hasPrevious} ? 'disabled'"
다음 페이지가 없으면 비활성화th:classappend="${!paging.hasNext} ? 'disabled'"
이전 페이지 링크th:href="@{
다음 페이지 링크th:href="@{
페이지 리스트 루프th:each="page: ${#numbers.sequence(0, paging.totalPages-1)}"
현재 페이지와 같으면 active 적용th:classappend="${page == paging.number} ? 'active'"

페이지 리스트에서 페이지 표시를 제한함

th:if="${page >= paging.number-5 and page <= paging.number+5}"

현재 페이지 기준 좌우로 5개씩만 표시되게 함.

리스트 정렬

public Page<Question> getList(int page) {
	List<Sort.Order> sorts = new ArrayList<>();
	sorts.add(Sort.Order.desc("createDate"));
	Pageable pageable = PageRequest.of(page, 10, Sort.by(sorts));
	return this.questionRepository.findAll(pageable);
}

0개의 댓글