백엔드 단의 페이징 처리 + url에 파라미터를 넘김으로써 페이지를 이용할 수 있었다.
프론트엔드 단의 숫자를 눌러서 페이지 이용하는 것을 처리
필요한 변수 지정
nowPage -> 현재 페이지
startPage -> 블럭에서 보여줄 시작 페이지
endPage -> 블럭에서 보여줄 마지막 페이지
타임리프 문법
th:text -> 태그 안에 데이터를출력
th:each -> 반복문
th:each="${number:#number(시작번호, 끝번호)}" -> 시작번호에서 끝번호까지 반복
model.addAttribute("list",boardService.boardList(pageable));
이부분에 직접 넘겨주지 않고
Page<Board> list = boardService.boardList(pageable);
model.addAttribute("list",list);
이렇게 변수에 담아 넣어주면 기존에 코드와 변함은 없다.
int nowPage = list.getPageable().getPageNumber();
int startPage = Math.max(nowPage - 4,1);
int endPage = Math.min(nowPage +5, list.getTotalPages());
list.getPageable().getPageNumber();
pageable에서 넘어온 현재 페이지를 갖고온다.
th:block
-> 굳이태그로 감쌀 필요가 없는 태그를 타임리프 문법을 통해서 사용할때