[에러] Caused by: java.lang.IllegalArgumentException: Property must not be null or empty
2022.11.18발생
- 검색 기능을 위해 BookRepository 수정 중
원인
- ** 간소화로 인해 코드 중 일부 생략된 부분이 있을 수 있습니다.
오류 코드
public default List<Book> findAll(Pagination pagination) {
Page<Book> page = this.findAll(PageRequest.of(pagination.getPg() - 1, pagination.getSz(), Sort.Direction.ASC, "id", pagination.getSrchText()));
pagination.setRecordCount((int)page.getTotalElements());
return page.getContent();
}
해결
-
page에 pagination.getSrchText()의 값을 넘기면 안 됨
-
이때 PageRequest.of에 해당하는 파라미터는 pageable이기 때문에 srchText는 필요없음.
-
** 간소화로 인해 코드 중 일부 생략된 부분이 있을 수 있습니다.
해결 코드 - BookRepository 오류
public default List<Book> findAll(Pagination pagination) {
Page<Book> page = this.findAll(PageRequest.of(pagination.getPg() - 1, pagination.getSz(),
Sort.Direction.ASC, "id"));
pagination.setRecordCount((int)page.getTotalElements());
return page.getContent();
}
해결 코드 - search.jsp 오류
<form:input path="srchText" />
<-- 아래의 name값을 path로 수정해야 함. -->
<form:input type="text" name="srchText" placeholder="검색조건" /> <-- X -->
<form:input type="text" path="srchText" placeholder="검색조건" /> <-- O -->