Web Programming/Java Spring

JSP vs Thymeleaf

jinmc 2021. 1. 12. 15:31
반응형

보통 Java spring의 프론트엔드로 JSP를 많이 씁니다.

하지만 Jsp의 장점이자 단점은, html파일이 아니고, java 파일이라는 겁니다.

 

그래서, java 논리를 쓸 수 있어서 편한 점도 있지만, 

seperation of concern, 즉, 프로그래밍 디자인적으로 프론트엔드와 백엔드를 나누려는 

요즘의 트렌드에 조금 맞지 않다고도 볼 수 있습니다.

 

참고 url (영어) : www.quora.com/Which-is-better-Thymeleaf-or-JSP

 

하지만 확실한 건, thymeleaf건 jsp건, 그 문법에 대해서 알아야 한다는 점입니다.

아무리 thymeleaf가 html이라고 해도, 태그가 있기 때문입니다.

 

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1 th:text="${name}">Name</h1>
</body>
</html>

위와 같이 th를 사용하여 thymeleaf 네임스페이스를 추가해 주고,

controller에서  model로 들어온 name을 사용합니다.

 

jsp와 thymeleaf를 사용할 때 생각해야 할 건 그 뿐만이 아닙니다.

스프링 부트에서는 JSP에 자동 설정을 지원하지 않으며, 패키징을 할 때 Jar file로 패키징 하지 못하고 

War file로만 할 수 있다고 합니다.

또한 Jsp에 의존성을 주입하는 경우 의존성 문제가 생길 수도 있다고 합니다.

 

Thymeleaf와 JSP와의 가장 큰 차이점은, 

Thymeleaf는 JSP와는 다르게 servlet code로 변환하지 않는다는 점이라는 겁니다.

 

반응형