

Illegal use of .... as its direct parent 오류
발생 원인
JSP 문법 규칙을 위반하여 발생하였다.
JSTL 태그(<c:if>, <c:forEach> 등)는 JSP 의 특정 태그 구조 내에서만 유효하게 쓰일 수 있다.
스크립틀릿, 선언부, 표현식 안에서 JSTL 태그를 직접 사용하는 경우 또는 잘못된 부모 태그 아래에 사용해서 발생할 수 있다.
JSTL 태그를 사용할 때 <c:choose> 를 쓰지 않고 <c:when>만 사용해서 에러가 발생하였다.

해결 방법

<c:when> 태그 밖을 <c:choose>태그로 감싸서 해결하였다.
** 확인해야 할 것
1. 해당 오류가 발생하는 컴포넌트/위젯의 부모 요소가 올바른지 확인
2. 공식 문서에서 해당 요소가 어떤 부모 아래에 올 수 있는지 확인
3. JSX/HTML/Dart 등 언어 문법을 준수하는 구조로 수정