<li class="page-item " th:classappend="${1 == users.pageable.pageNumber+1}?'disabled'">
기존의 코드는 위와 같았는데,users 에는 Page<User> 타입의 객체가 담겨져 있었다
count 쿼리에 대한 비용이 불필요하다고 생각해(하지만 1,2,3,.. 의 페이지 번호를 보이는 거라면 어쩔 수 없다 or 프론트에서 단 한번만 총 개수를 받아두고 이를 저장해두고 출력해주는 방법도 있을 수도..??) Slice 로 변경하며 Slice<User> users 가 되었고, 위의 코드를 그대로 사용하면 템플릿 파싱 오류가 발생하는 상황이 되었다.
따라서 Slice 객체를 사용하도록 변경해야 했다.
해당 코드는, 이전 페이지가 존재하는지 여부에 따라 Previous 버튼을 비활성화 시키는 코드다.
따라서 Slice 의 hasPrevious() 를 사용해야 했다.
그런데 users 가 null 인 경우도 존재하기 때문에 아래와 같은 코드여야 한다
사실 처음에는
<li class="page-item " th:classappend="${users.hasPrevious() == 'true'}? 'disabled'">
를 했다가, users 가 null 이어서 오류가 발생했다
<li class="page-item " th:classappend="${users.hasPrevious()}? 'disabled'">
따라서 위와 같이 변경했다
'Spring' 카테고리의 다른 글
@InjectMocks 는 구현체여야 하는데, 구현체 타입으로 명시하고 싶지 않은 경우 (0) | 2023.01.03 |
---|---|
Controller api 가 생각처럼 출력되고 있지 않다 (2) | 2022.09.11 |
선언적 트랜잭션과 programmatic 트랜잭션 (0) | 2022.08.27 |
Self-invocation 과 @Transactional (0) | 2022.06.06 |