<"로직">
총 페이지 버튼이 화면에 10개씩 보이게 하고,
10이거나 10을 넘어갈 경우 다음 버튼이 생기며,
10을 넘어갈 경우 이전버튼이 생겨 각각의 화면의 페이지 첫번째 버튼으로 이동 하기
1. @PageableDefaualt
@PageableDefaualt(sort={"id"}, size=10, direction=Sort.Direction.ASC
- sort={"id"} : 해당 id를 기준으로
- size=10 : 한 화면에 10개 정보씩
- direction=Sort.Direction.ASC : 오름차순(내림차순) 정렬
2. Controller
- (@PageableDefault(sort = { "id" }, size = 10, direction = Sort.Direction.ASC) Pageable pageable){
: pageable을 매개변수로 넘겨줌 (page=0 자동으로 시작함)
- int maxNavCnt = 10; // 한 페이지에 10개 의 버튼을 보여줌
3. html
th:with=
"start=${(list.currentPage/maxNavCnt)*maxNavCnt+1},
end=(${(list.totalPages == 0) ? '' : (start + (maxNavCnt - 1) < list.totalPages ? start + (maxNavCnt - 1) : list.totalPages)})">
- start : 첫번째 버튼이 1,11,21,31,.. 이 되도록
- end : 전체 페이지 버튼ㅇ; 0이면 버튼 아예 안보여주고,
전체 페이지 버튼이 0이 아니고, 10<2 이면 전체 페이지 버튼2개까지 보여주고 / 그렇지 않으면 다른거..
- 이전버튼 : 현재페이지가 10개보다작을 때 안보여주고, 현재페이지가 10개보다 클때 보여줌(start-maxNavCnt-1)
- 다음버튼 : 한 화면의 버튼 개수와 전체 총 페이지가 같을때 안보여주고, 다르면 보여줌(start+maxNavCnt-1)
'BACK' 카테고리의 다른 글
[기본 자료구조 - Class] 중첩 클래스 (0) | 2023.07.17 |
---|---|
[Datatables.js] Datatables 이용하여 테이블 만들기(사용법) (0) | 2023.07.14 |
[JPA AJAX] CrudInterface를 통한 create, read, update, delete (0) | 2023.07.10 |
[JPA Security Login] 시큐리티 로그인 필수 설정 (0) | 2023.07.10 |
[SpringBoot JSP] 게시판목록을 메인화면에연결 (0) | 2022.04.29 |