thymeleaf(타임리프)는 Java 기반의 서버사이드 템플릿 엔진으로, 웹 및 독립적인 환경 모두에서 HTML, XML 등 다양한 템플릿을 처리하여 동적인 웹 페이지를 생성한다.
서버에서 DB나 API에서 가져온 데이터를 템플릿에 넣어 완성된 HTML을 클라이언트에게 전달하는 서버 사이드 렌더링(SSR)을 지원하며, Spring Boot 환경에서 스프링 팀이 권장하는 템플릿 엔진이다.
-
서버사이드 렌더링(SSR):서버에서 데이터를 처리하여 최종 HTML을 생성하기 때문에 검색 엔진 최적화(SEO)에 유리하고 브라우저 호환성이 높습니다.
-
자연스러운 템플릿:Thymeleaf 문법이 포함된 HTML 파일을 브라우저에서 열어도 그 자체로 화면을 볼 수 있어, 개발 단계에서 디자인과 개발이 동시에 가능합니다.
-
스프링과의 통합:스프링 프레임워크와 잘 통합되어 있으며, 스프링 부트에서 기본적으로 사용됩니다.
-
다양한 템플릿 처리:HTML뿐만 아니라 XML, JavaScript, CSS, 일반 텍스트 등 다양한 템플릿을 처리할 수 있습니다.
-
유지보수 용이성:우아하고 유지보수가 쉬운 템플릿을 생성할 수 있도록 설계되었습니다.
-
동적 웹 페이지 생성:서버에서 받아온 데이터를 HTML에 동적으로 넣어 웹 페이지를 만듭니다.
-
스프링 부트 기반 웹 개발:스프링 부트 프로젝트의 웹 화면을 구성하는 데 주로 사용됩니다.
공식 사이트 링크 >
Thymeleaf
Integrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming Model-View-Controller API for Java EE 8. Write Thymeleaf in your favourite tools, using your favourite web-development framework. Check out our Ecosystem to see more integrati
www.thymeleaf.org
적용하는 여러 방법
Thymeleaf는 스프링 부트에서 쓰이는데, 여러 방법으로 적용시킬 수 있다.
Spring Initializr 를 이용하는 방법
이 사이트에서 Dependencies 에 Thymeleaf를 검색해서 미리 세팅하는 방법이 존재한다.
이후 html 탬플릿을 만들어서 그 안에 html 코드를 짜면 된다. 문법이 아주 아주 약간 다르지만, 거의 동일하기 때문에 되게 쉽게 웹 페이지를 만들어 갈 수 있다.
예시 코드 >
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="/style.css">
<title>spring web EX</title>
</head>
<body>
<h1>Welcome to Spring Web Example</h1>
<p th:text=" 'Hello, ' + ${name} + '! this page is renderde by Spring' "></p>
<p th:text=" 'Hello2, ' + ${nameValue} + '! this page is renderde by Spring' "></p>
<a th:href=" '/intro/content?name=' + ${name} ">Go to Intro/Content Page!</a>
</body>
</html>
위의
<html xmlns:th="http://www.thymeleaf.org">
이 부분을 세팅해줘야 Thymeleaf를 가져올 수 있다.
문법적인 것은 "th" 를 이용해서 기능적인 부분을 연동할 수 있다.
'자바' 카테고리의 다른 글
객체지향 3대 요소 (매우 중요) (0) | 2024.07.19 |
---|---|
우아한테크 / 자바 Virtual Thread. (1) | 2024.05.20 |
내가 자주 쓸 이클립스 단축키 (1) | 2024.04.19 |
인텔리제이 디버거 (0) | 2024.04.15 |
자바 디버거하는 방법, 원리 (0) | 2024.04.14 |