반응형
웹 개발을 하던 도중 다음과 같은 에러가 발생했습니다. 카테고리 리스트를 데이터베이스에서 List<xxxVO> 타입으로 가져와 화면에 출력하는 상황입니다.
작업 중인 통합 개발 환경(IDE)의 콘솔 창을 확인해봅시다.
주목해야 할 오류 문장은 다음과 같습니다.
javax.el.PropertyNotFoundException: Property [name] not found on type [java.lang.String]
결론만 얘기하면, JSTL의 forEach문을 잘못 사용했을 확률이 큽니다. 코드를 살펴보면 이상한 점을 발견할 수 있습니다. 아무 생각 없이 작성하다가 발생하는 실수 중 하나라고 생각합니다.
<c:forEach items="categoryList" var="categoryVo">
<li>${categoryVo.name}</li>
</c:forEach>
items로 가져왔던 List를 EL문으로 감싸주면 됩니다.
<c:forEach items="${categoryList}" var="categoryVo">
<li>${categoryVo.name}</li>
</c:forEach>
이제 정상적으로 나오는 지 확인해볼까요?
반응형