본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Spring framework/Spring boot

[Springboot] thymeleaf 오류 : TemplateInputException, ParseException

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2023. 5. 16.

 

타임리프(thymeleaf)를 사용하여 개발을 하다보면 만날 수 있는 상황 입니다.

사실 SPA기술이 등장하면서 타임리프가 많이 쓰이지는 않지만..

오류 원인은 2가지 입니다.

1. 설정한 경로에 파일이 없는 경우

2. 해당 html 파일에 타임리프가 파싱할 때 못알아 듣는(?) ECMA 6이상의 코드가 존재하는 경우

쩝...

 

첫번째 원인은 해당 뷰 컨트롤러의 경로를 확인하여 해당 파일을 생성하면 쉽게 해결이 가능 합니다.

일반적으로 template 디렉토리 아래에 파일이 위치하므로 뷰 컨트롤러와 html 파일의 경로를 확인하여 주면 됩니다.

 

그런데..두번째 문제는 솔직히 짜증이 났습니다.

ECMA6 이상 문법만 쓰면 간혹 만나는 오류..지가 먼데 파싱하면서 오류를 내는지...

 

두번째 문제인 경우는 오류 로그로 해당 소스코드의 라인, 내용을 출력 하기도 합니다.

아무튼..이러한 경우에는 간단하게 주석을 추가하여 주면 해결 가능 합니다.

에..? 시데이터??

 

위 사진처럼 주석에 CDATA를 추가하여 내부에 코드를 써 주면 됩니다.

아니면 HTML 파일에서 해당 스크립트 코드를 전부 분리하여 js 파일로 만들어주는 것도 방법이라 할 수 있겠습니다.

* js파일로 묶는게 가장 속 편합니다..

//<![CDATA[

//]]>

 

이상으로 타임리프(thymeleaf) 에서 만날 수 있는 파싱 오류인 TemplateInputException, ParseException 대처 방법에 대해서 살펴보았습니다.

궁금한점 또는 틀린 부분은 연락 주세요!  😁

 

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글