[Spring] thymeleaf가 있어야 templates에서 html을 읽을 수 있다

Date:     Last Updated:

며칠정도 SpringBoot에 대해서 배우고 있다.

  • 이제 아주 간단한 컨트롤러나 리액트나 js로 클라이언트 요청을 받아서 json형태로 데이터를 주고 받는 것은 쉽게 할 정도가 되었다.
  • 마침 프로젝트를 react + spring으로 하기로 해서 간단하게 잘 되는지 테스트를 하기로 했다.
  • 그리고 몰랐는데 react와 spring을 한 폴더에 관리하면서 같이 빌드할 수 있는 방법을 우연히 봐서 실행에 옮기기로 했다.

“일단 언제나 그렇듯 컨트롤러로 html하나 띄워보자.” 가 시작이었다.

  • start.spring.io에서 내 생각에 필요한 라이브러리들을 다 추가하고 프로젝트를 인텔리제이로 열었다.
  • 그리고나서는 아래 그림과 같이 아주아주 간단한 테스트를 진행했다.
  • 물론 그 전에 security와 mysql로 인해서 잠깐 수정한 부분이 있었지만 그건 쉽게 해결했다.

타임리프

타임리프 혹은 머스타치등 라이브러리가 없으면 templates의 .html을 읽지 못한다는 것을 전혀 몰랐다.

  • 여러 스프링 강의를 들으면서 타임리프나 머스타치를 보통 추가하고 시작을 하니까 지금까지 전혀 알지 못했다.
  • 기본적으로 controller로는 templates에 있는 .html파일을 읽을 수가 없다는 사실을 말이다.
  • 위에 설명했듯이 react와 spring으로 프로젝트를 할 예정이어서 결국 타임리프는 필요없었다. 다만 테스트였어서 시도해본건데
  • 1시간 내내 404오류만 나고 프로젝트가 문제인가 싶어서 spring web만 추가하고 다시해도 안됐다. 그러다가 설마설마 thymeleaf가 없어서 그런거라고?
  • 라고 생각해서 추가해서 프로젝트로 테스트 해보니 바로 됐다.
  • 내 1시간.. 아니 1시간30분 누가 보상해주나 ㅠㅠ

타임리프는 당장 쓰지 않겠지만 프로젝트 개발동안은 유지해두자.

  • 언제라도 간단한 테스트는 항상 할 수 있으니 타임리프는 기본적으로 추가해두는 것이 좋겠다.
  • 벌써 시간이 늦었는데 오늘 react와 spring빌드 합치는 부분까지는 하려고 했는데 늦었다.

Leave a comment