본문 바로가기
[ Error ]/TomCat

[ TomCat ] javax.servlet.jsp.JspTagException

by 환이s 2023. 4. 28.


상품 상세 페이지 구현하던 중

javax.servlet.jsp.JspTagException

에러가 발생했다. 상세 정보로는 

Don't know how to iterate over supplied "items" in <forEach>

라고 알려주는데,

일반적으로는 LIst 타입이 아닌데 JSTL에서 forEach를 사용해서 발생하는 오류이다.

읽어봐도 forEach 내의 item을 어떻게 iterate를 할 수 있는지 알 수 없다고 쓰여 있으니까 말이다.

 

간단하게 이 문제면 해결하기 쉽습니다.

 

예를 들면 다음과 같은 경우 소스를 보면

 

forEach 내에 when을 사용하여 목록 전체를 구하는 것이 소스 코드의 의도이다.

근데 이렇게 소스를 작성하면 방금과 같은 오류가 발생합니다.

 

그 이유는 itemdto 타입으로 설정했기 때문에 즉, Controller에서 보내줄 때 

List 타입이 아니기 때문이다.

 

위 코드를 보면 DTO 타입으로 설정했기 때문에 에러가 발생한 이유입니다.

해결법은 목록 페이지를 LIst<DTO> 타입으로 설정해서 setAttribute("list",list);

설정해주시고 item${list} 값을 넣어주면 됩니다.

 

그럼 정상적으로 출력되는 걸 볼 수 있습니다.

 


마치며

 

오늘은 javax.servlet.jsp.JspTagException 에러에 대해서 알아봤습니다.

다음 포스팅에서 뵙겠습니다.

728x90