본문 바로가기

페이징

(2)
mustache 페이지 인덱스 - 숫자 반복문(리스트)로 만듦 mustache 템플릿에서 페이지 인덱스 버튼을 구상하는 중에 반복문을 사용해서 totalPages를 이용해 인덱스 버튼을 만들 수 있지 않을까 하고 생각해봤다. 찾다보니 원하는 방법은 없지만, 억지로 만드는 방법은 있었다. 숫자를 기준으로 하는 반복문은 못찾았지만, 리스트를 기반으로 하는 반복문은 찾았다. 따라서 1부터 totalPages까지 숫자가 담긴 리스트를 mustache에게 전달해서 하나씩 반복해서 전달하도록 하면 됐다. 근데 이건 너무 억지 같긴 하다. 억지 페이징 코드 전체 페이지 수가 0부터 담긴 리스트를 만들어 전달한다. 반복문을 사용하여 인덱스 버튼을 만든다. 억지 인덱스 버튼 완성!
페이징 처리하기 게시판이 구현된 사이트는 특정 개수대로 게시글을 나눠 페이지 별로 보여준다. jpa를 이용하면 이런 페이징 처리를 비교적 간단히 할 수 있다. 몇개씩 노출시킬 지, 어떤 요소를 기준으로 정렬할 것인지, 오름차순인지, 내림차순이지도 정할 수있다. 우선 컨트롤러에서 페이지 요청을 처리하는 메소드를 만든다. 해당 메소드는 데이터를 리스트 형태로 만들어 여러 데이터를 반환한다. 페이징처리를 위해 Pagable이란 객체에 @PageableDefault 어노테이션을 붙여 매개값으로 전달한다. Pagable은 정렬 기준, 정렬 방법, 노출 개수 등의 정보를 담고 있다. 페이징 설정 정보가 담긴 객체를 JpaRepository의 findAll()메소드에 매개값을 넣어주면, 데이터들을 Page 객체에 담아 리턴한다. 그..