자 이제 페이징을 할 텐데
두 가지 방법이 있다
1. jpa가 편하게 제공해주는 기능이고
2. 댓글이나/검색할 때 써야 하는 좀 더
전통적으로 페이징을 하는 건데
둘 다 원리만 이해한다면 구현하기
어렵지 않다 한 번만 이해하면 된다
boardservice로가서
boarddao.findAll(PageRequest.of(page-1, pagesize,Sort.by(Sort.Direction.DESC,"bid")));
이 간단한 줄이 페이징을 해준다
무슨 뜻 이냐면 page에 맞게 지정한 pagesize만큼 bid를 내림차순 기준으로
정렬해서 보내준다
기가 막힌다 진짜
하나의 놀라운 기능이 또 있다
controller로가서
여기서 개인적으로 느끼는 건데
스프링은 진짜 알면 편하고
모르면 아예 못쓰는 거 같다!
model.addAttribute("search", false);
이거는 검색해도 페이징이 돼야 하기 때문에
일반 그냥 boardlist에서는 false로 해주고
/auth/search에서 true를 줄 것이다
그리고 진짜 놀랬던 기능
array.getTotalPages()
page가 가지고 있는 기능인데
이거 외에도 몇 개 더 있는 거 같다
어쨌든 편리하게 내가 db에서 가져올
총개수까지 준다!
<div th:if="${currentpage<totalpage}">
<form action="/auth/boardlist">
<input type="hidden" name="page" th:value="${currentpage+1}">
<input type="submit" value="다음">
</form>
</div>
<div th:if="${currentpage>1}">
<form action="/auth/boardlist">
<input type="hidden" name="page" th:value="${currentpage-1}">
<input type="submit" value="이전">
</form>
</div>
이렇게 이전/다음 버튼을 컨트롤할 수 있다
다음은 검색 기능을 만들자!
'Spring boot kim's cafe > 게시판만들기' 카테고리의 다른 글
Springboot 게시판만들기!(4) 글내용 보이기 with th:href="" (0) | 2021.06.18 |
---|---|
Springboot 게시판만들기!(3) 글검색+페이징 with nativeQuery (0) | 2021.06.17 |
Springboot 게시글 불러오기!(1) (0) | 2021.06.17 |
Springboot 게시판 글쓰기!(2) only text version (0) | 2021.06.17 |
Springboot 게시판글쓰기!(1) with Ajax only text version (0) | 2021.06.17 |