Property [name] not found on type [java.lang.String]


웹 개발을 하던 도중 다음과 같은 에러가 발생했습니다. 카테고리 리스트를 데이터베이스에서 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>




이제 정상적으로 나오는 지 확인해볼까요?












댓글(3)

  • 호준
    2019.03.08 16:02

    심각하네요

  • oo
    2020.11.23 14:20

    이럴리가없는데? 하면서 검색하다가 들어왔는데..소름돋네요..
    덕분에 하나 배워갑니다..

Designed by JB FACTORY