티스토리 뷰

framework/Spring

Thymeleaf 간단 소개

북항 2019. 5. 20. 17:56
donaricano-btn
반응형

https://stackify.com/spring-mvc/

기본적으로 MVC모델은 위 그림과 같이 동작합니다. 클라이언트로 부터 들어온 요청을 모델객체를 통해 처리하고 그 결과를 view template을통해 전달합니다. view라는 것은 실제 사용자에게 보이는 프레젠테이션 로직입니다. 웹 애플리케이션에서는 HTML을 렌더링 하는 역할을 하는 것이겠죠. 이전까지는 JSP가 이 역할을 위해 표준적으로 쓰여 왔습니다만 여러가지 불편함과 문제점을 가지고 있었고 이를 해결하기 위해 다양한 view 템플릿 엔진들이 등장하게 되었습니다. JSP와 MVC 패턴에 대한 설명은 이전 포스팅을 참조 부탁드립니다.

 

템플릿 엔진(Template Engine)은 템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨어를 말합니다. 그 중 웹 템플릿 엔진(web template engine)이란 웹 문서가 출력되는 템플릿 엔진입니다. 즉, 웹 템플릿 엔진은 웹 템플릿들(web templates)과 웹 컨텐츠 정보(content information)를 처리하기 위해 설계된 소프트웨어라고 할 수 있습니다.

 

Thymeleaf는 템플릿 엔진 중에서도 서버-사이드(server-side) 자바 템플릿 엔진(templete engine)의 한 종류입니다. 서버사이드 템플릿 엔진은 서버에서 DB 혹은 API에서 가져온 데이터를 미리 정의된 Template에 넣어 html을 그려서 클라이언트에 전달해주는 역할을 합니다.

 

Thymeleaf가 JSP와 다른 가장 큰 차이점은 JSP와는 달리 servlet 코드로 변환되지 않는다는 것입니다. 서버에서 HTML을 렌더링 하는 것은 같지만 thymeleaf 같은 Template 은 컨트롤러에서 값을 받아서 대체 한 뒤 HTML Text 를 받아서 그걸 브라우져에 넘겨주는 역할만 합니다. 따라서 JSP 처럼 servlet 코드로 변환되지 않습니다. 이 때문에 웹 템플릿 엔진은 비즈니스 로직과 분리되어 View에만 집중할 수 있습니다.

 

그리고 Thymeleaf는 JSP에 비해 더 간결하고 가독성이 좋은 코드를 제공합니다. 그럼으로서 조금 더 유지보수하기 편한 코드를 만들 수 있습니다.

반응형

'framework > Spring' 카테고리의 다른 글

Thymeleaf 주석  (0) 2019.05.28
Thymeleaf 표현식 안에 표현식 쓰기  (0) 2019.05.24
thymeleaf에서 null check 하기(isEmpty)  (2) 2019.05.17
Thymeleaf 날짜 포맷 지정해서 출력하기  (0) 2019.05.13
Thymeleaf 에서 Enum 쓰기  (0) 2019.05.10
donaricano-btn
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함