페이징 처리 1편
by 볼빵빵오춘기Point
- 이 프로젝트에서는 JPA를 이용하여 페이징 처리한다.
- localhost:8080/boadrd/list?page=1&size=10
페이지의 스타트 숫자는 0부터 시작한다. - 즉, 넘겨받은 매개변수 page=1는 2번째 페이지인것이다.
- 현재 글 리스트를 보면 마지막에 쓴 글이 제일 밑에 가있다.
보통 리스트는 제일 마지막에 쓴 글이 맨 위에 보이게 된다.
Controller
- boardList() 수정하면 Service에서 에러가 날것이다. Controller 작업 후 Service로 가서 수정하자!
- 매개변수에 Pageable pageable 추가한다.
- @PageableDefault() page를 설정가능하다.
- page = 0
- size = 2
- sort - id값으로 정렬기준
- direction 어떻게 정렬
@GetMapping("/board/list")
public String boardList(Model model, @PageableDefault(page = 0, size = 2,sort = "id",direction = Sort.Direction.DESC) Pageable pageable, ){
model.addAttribute("list", list);
return "boardList";
}
Servie
- boardList() 수정한다.
- 매개변수 pageable 넣어준다.
- findAll() 메서드에도 매개변수 pagealbe 넣어준다.
- 매개변수를 넣어주면 이러면 오류가 난다.
- return값이 원래는 List 였으나 Page로 바꿔준다.
public Page<Board> boardList(Pageable pageable){
return boardRepositoy.findAll(pageable);
}
여기까지 작업을 한 후
새로고침 해보면 맨 마지막글이 맨 위로 올라와 있는 것이 확인이 가능하다.
하지만 밑에 페이징되어 번호가 보이지 않는다.
url 파라미터에 ?page=0 이런식으로 추가해서 번호만 바꿔서 어떤 결과가 나오는지 보자.
'강의 따라하기 > board' 카테고리의 다른 글
검색 기능 1,2편 (0) | 2024.01.01 |
---|---|
페이징 처리 2편 (0) | 2024.01.01 |
파일 업로드 (0) | 2023.12.30 |
메시지 띄우기 (0) | 2023.12.30 |
board 프로젝트 (0) | 2023.12.30 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기