[Spring] Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression

<div th:each="card : ${cardList}" class="card border rounded mt-3">
  <div class="p-2 d-flex justify-content-between">
    <span class="font-weight-bold" th:text="${card.user.name}"></span>

    <a href="#" class="more-btn">
      <img src="https://www.iconninja.com/files/860/824/939/more-icon.png" width="30">
    </a>
  </div>

MVC 패턴으로 view에 타임리프 문법으로 데이터를 뿌리는데 자꾸 아래 런타임 에러가 발생.

Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression

‘오타가 있나?’ 생각해서 꼼꼼하게 전부 확인해봤지만 오타는 찾을 수 없었다.

그리고 에러 문구 하단에서 Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field ‘name’ cannot be found on null 문구를 확인하고 디버깅으로 확인했지만 값은 제대로 들어오고 있는 상태.

‘제대로 넘어오고 있는데 대체 왜 null이라고 하는 걸까?’ 약 2시간을 view부터 역추적해서 코드를 확인했다.

그러나 코드에서 별다른 에러는 확인할 수 없었는데…

원인은 DB에 있었다.

과거 테스트 중에 null로 들어간 데이터가 있었던 것.

null로 들어와 not null로 수정 후, 테스트 데이터를 삭제하지 않아 계속해서 런타임 에러가 발생하고 있었다.

Categories:

Updated:

Leave a comment