Spring Boot
와 Thymeleaf
를 사용하여 View
를 구현하던 중 아래와 같이 오류가 발생하였다.
org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "{expression}" (template: "{file}.html" - line 48, col 17)
at org.thymeleaf.spring5.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:292) ~[thymeleaf-spring5-3.0.12.RELEASE.jar:3.0.12.RELEASE]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
| checkpoint ⇢ Handler com.meun.hackingspringboot.reactive.HomeController#home() [DispatcherHandler]
| checkpoint ⇢ org.springframework.boot.web.reactive.filter.OrderedHiddenHttpMethodFilter [DefaultWebFilterChain]
|_ checkpoint ⇢ HTTP GET "/" [ExceptionHandlingWebHandler]
Stack Trace
를 읽던 중 아래 내용을 발견하였는데, HTML 내 조회하려던 값에 대하여 해당 멤버변수에 대하여 Getter/Setter
가 작성되어 있지 않았고 작성한 이후 정상 동작함을 확인하였다.Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field '{멤버 변수}' cannot be found on object of type '{패키지명}.{클래스명}' - maybe not public or not valid?
at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:217) ~[spring-expression-5.3.3.jar:5.3.3]
at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:104) ~[spring-expression-5.3.3.jar:5.3.3]
at org.springframework.expression.spel.ast.PropertyOrFieldReference.accessAccessorLValue.getValue(PropertyOrFieldReference.java:406) ~[spring-expression-5.3.3.jar:5.3.3]
Getter/Setter
, equals()
, hashCode()
등을 자동 생성하였는데 해당 멤버변수만 Getter/Setter
생성을 누락했던 것 같다. Lombok
의 @Getter
, @Setter
Annotation을 활용하도록 노력해야겠다.
ㅜㅜㅜㅜ 진짜 진짜 감사해요 이 문제때문에 3일을 고생했는데 이거때문일 줄이야 ㅜㅜㅜ