david's daily developer note

[BE] Spring Thymeleaf 본문

[Develop] Web/Back-end

[BE] Spring Thymeleaf

mouse-david 2023. 8. 29. 22:52
728x90

Thymeleaf는 웹 및 Java 템플릿 엔진으로 서버 사이드의 웹 애플리케이션을 개발할 때 사용되는 도구이다.
Thymeleaf는 HTML, XML, JavaScript, CSS 등과 같은 웹 페이지 리소스를 동적으로 생성하기 위해 사용하며,
주로 Java 기반의 웹 애플리케이션에서, 특히 Spring Framework와 함께 많이 사용된다.
(IntelliJ IDEA는 Thymeleaf와 같은 웹 템플릿 엔진을 통합하여 웹 애플리케이션의 개발 및 디버깅을 지원,
Spring framework 프로젝트에서는 MVC 패턴에서 VIEW에 해당하는 화면을 동적으로 표현할 때 주로 사용한다.)

다음은 간단하게 개념만 잡을 수 있는 예제이다.

1. 의존성 추가

dependencies {
    // Other dependencies...
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
}

2. 템플릿 작성

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

 ● line2는 html 파일에 thymeleaf 사용함을 나타내는 필수 문장
 ● [th:] 접두사를 통하여 thymeleaf 문법임을 알린다. 실제 표시되는 화면에서 th:는 제거된다.
 ● ${message} 는 message라는 변수를 선언하는 문장.

3.컨트롤러 생성

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {

    @GetMapping("/")
    public String home(Model model) {
        model.addAttribute("message", "Hello, Thymeleaf!");
        return "home"; // This corresponds to the "home.html" Thymeleaf template
    }
}

home 함수는 message 변수에 "Hello, Thymeleaf!" 문자열 값을 Model 객체 추가하고 뷰 템플릿을 반환한다.
조금 더 자세한 Thymeleaf 문법이 궁금하면 다음 링크를 참고하자.

 

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

 

728x90