질문&답변
FieldError가 아닌 Item으로 사용자 입력 값 유지하기
form 태그 안에 있는 input이 아니라 완전 별도의 장소에서 th:text="${item.price}"를 출력해보시면 값이 유지되는 것을 확인할 수 있습니다. 컨트롤러에서 addForm을 호출하기 직전에 item객체의 내용물을 log로 확인해보셔도 price 값은 유지되는 것을 확인할 수 있습니다. 값이 유지되지 않는 것처럼 보이는 이유는 값의 출력을 th:text가 아닌 th:object="${item}" 과 th:field 등을 사용했기 때문에 단순히 item.getPrice()가 호출되는 것이 아닌 bindingResult에 에러가 있는 필드의 경우 bindingResult에서 그 값을 찾기 때문이라고 생각됩니다. 도토리님께서 bindingResult에 잘못된 값이라도 그 값을 주지 않는 FieldError 생성자를 사용하셨기 때문에 값이 유지되지 않는 것처럼 보입니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 877





