Hello

페이징 처리 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

볼빵빵오춘기

활동하기