본문 바로가기
기타/오류해결

[JSTL] org.apache.jasper.jasperexception: 오류 해결방법

by 하루디 2021. 5. 25.

 

[상세 오류메세지]

org.apache.jasper.jasperexception: <h3>[/views/layout/header.jsp] 내의 [c]을(를) 위한 taglibraryvalidator로부터 validation 오류 메시지들</h3><p>40: illegal text inside "c:choose" tag: "<!-- te...".</p><p>40: illegal text inside "c:choose" tag: "<!-- js...".</p>

 

이 오류가 문제인건 프로젝트 화면상에서는 뭐가 문제인지 모른다는 점이었다. 실행했을때 오류가 나면 Console 창을 키워서 제일 위에있는 오류 메세지를 읽어보자.

STS는 같은 이름의 다양한 오류들이 발생하는 경우가 많은데 파란색으로 나오는 jasperexception: 이 뒷부분을 읽어보면 본인의 코드에서 발생한 문제가 어디있는지 확인할 수 있다. 

^^이거 해결하려고 서버를 몇번 삭제했다가 다시 설정했는지 모르겠는데 진짜... 간단하게 해결돼서 더 화났다. 클래스메이트 분이 도와주셔서 해결할 수 있었다. 아니었으면 오전내내 수업도 안듣고 이거만 따라하고 있을 뻔 했네... 

 

 

 

지금 이 오류는 illegal text inside "c:choose" tag: " 이부분을 해결하면 해결되는 오류이다

=> JSTL 문법의 <c:choose>태그에서 문제가 발생했습니다. 라는 뜻이다.

 

>>오류가 발생한 페이지 : <c:choose>태그를 사용한 페이지 

∴  JSTL문법을 사용할 때는 주석을 <c:choose>태그 안에서 사용하면 안된다. 

 

 

 

그래서 안쪽에 달려있는 

<!-- test에 조건을 넣는것T/F -->
<!-- JSTL연산자 3개 기억해 eq, ne, empty -->

이 두개의 주석을 <c:choose> 태그 위쪽으로 옮기도록 한다. 

 

 

>>바꾼 주석위치 확인

 

여기까지 하고나면 서버가 정상적으로 실행된다.