나의 상황
컨트롤러에서 받은 데이터를 화면단에 뿌려주는 과정에서 하나의 필드가 null이 들어오자 생긴 에러
원인
💡 th:if =”${cardList.costInfo.amount == ‘0’ }”
여기서 오류가 발생했는데, costInfo자체가 null이었다.
해결방법
- 컨트롤러:
//기존: model.addAttribute(”cardList”, cardList ); //빈 null의 값을 넣지 말고 새로운 객체를 보낸다 //변경: if( cardList ≠ null ){ model.addAttribute(”cardList”, cardList ); } else model.addAttribute(”cardList”, new CardList); //이렇게 카드 객체를 보내면 해결 할 수 있다.
- 타임리프 (추천)
th:if =”${cardList.costInfo?.amount == ‘0’ };
위에서 if문으로 분기를 치는 방법보다 훨씬 간단한 방법!
null이 뜨는 값 뒤에 ?(물음표)를 넣어주면 타임리프단에서 직접 null을 검사 후, 값이 있을 때만 보여주게 된다!
반응형
'JAVA > Spring' 카테고리의 다른 글
[Spring] 갑자기 annotation이 안먹는 문제 (0) | 2022.07.07 |
---|---|
[Gradle] Could not find method compile() for arguments에러 해결방법(+compile, implementation 차이점) (0) | 2021.10.27 |
[Thymeleaf] 타임리프 시작하기!(+jsp대신 thymeleaf로 view처리!) (0) | 2021.10.24 |
Spring boot로 migration하기 전 고려해볼 것들?(+스프링부트 개념정리) (0) | 2021.10.18 |
[Spring] Spring Bean이란?(+bean을 등록하는 방법) (0) | 2021.10.18 |