백엔드/Spring

[Spring] JSP 대신 Thymeleaf를 사용하는 이유

happy_life 2022. 8. 22. 19:18

클라이언트에게 동적인 웹페이지를 보여주기 위해 JSP, Thymeleaf 등 다양한 방식이 있습니다. 스프링에서는 Thymeleaf를 권장하고, 최근 개발자들 또한 jsp 대신 thymeleaf를 사용하는 추세입니다. 그렇다면 그 이유는 무엇인지 thymeleaf의 장점을 중심으로 알아보는 시간을 가져보겠습니다.

 

 

Thymeleaf의 장점

1. thymeleaf가 jsp에 비해 이상한 태그도 없고, 같은 의미를 가진 속성을 가지기 때문에 더 HTML 스럽습니다.

 

2. JSP와 달리 프로토타입 코드를 작성할 수 있습니다. 기존에 html 코드와 타임리프 코드를 동시에 사용할 경우, 타임리프가 이를 대체할 것임이 명백하기 때문입니다. JSP는 기존의 html 코드와 동시에 코드를 작성할 수 없어 프로토타입 코드를 작성할 수 없습니다.

 

3. Thymeleaf는 수정할 때에도 큰 장점을 가집니다. view를 수정하고 싶을 때 렌더링 없이 페이지 url에 직접 접근해 소스의 css에서 색상을 수정하고 F5를 누르면 뷰를 쉽게 바꿔볼 수 있습니다.  반면 JSP는 서버를 키고, 수정을 원하는 페이지까지 직접 클릭을 여러번 해 들어가야 합니다.

 

4. 파일을 .html로 바꿔도 인식할 수 있습니다. 동시에 써둔 html 프로토타입 코드는 인식하고 th:로 시작하는 타임리프 문법은 무시해버리기 때문입니다. 반면 jsp는 그것이 불가능합니다. .jsp 로 되어있던 file을 .html로 바꾸면 브라우저에서 파일을 인식할 수 없습니다. 

 

5. 타임리프는 html5를 완벽하게 지원합니다. 반면 jsp는 스프링 3.1 버전 전까지 html5를 완벽하게 지원하지 못했습니다.

 

 

 

참고

https://www.thymeleaf.org/doc/articles/thvsjsp.html