[java] Thymeleaf와 Spring MVC의 통합 방법은 무엇인가요?

Thymeleaf는 Java 기반의 템플릿 엔진으로, HTML 문서에 동적 데이터를 삽입하여 웹 페이지를 생성하는 데 사용됩니다. Spring MVC는 Java 기반의 웹 애플리케이션 프레임워크로, MVC 아키텍처를 기반으로 클라이언트 요청을 처리하고 응답을 생성합니다.

Spring MVC와 Thymeleaf를 통합하는 방법은 간단합니다. 아래는 이를 위한 간단한 단계입니다:

  1. 의존성 추가: Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 Spring MVC와 Thymeleaf의 의존성을 프로젝트에 추가해야 합니다.

Maven의 경우, pom.xml 파일에 다음 의존성을 추가합니다:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
  1. 설정 파일 설정: Spring MVC와 Thymeleaf의 설정 파일을 구성해야 합니다. application.properties 또는 application.yml 파일에 다음과 같은 설정을 추가합니다:
spring.thymeleaf.enabled=true
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
  1. 컨트롤러 생성: Spring MVC 컨트롤러를 생성하고 Thymeleaf 템플릿에 전달할 데이터를 처리하는 메서드를 추가합니다. 이 메서드는 Model 객체를 이용하여 데이터를 ModelAndView 객체에 추가합니다.
@Controller
public class MyController {

    @GetMapping("/hello")
    public ModelAndView sayHello(Model model) {
        model.addAttribute("message", "Hello, Thymeleaf!");
        return new ModelAndView("hello");
    }
}
  1. 템플릿 생성: Thymeleaf 템플릿 파일을 생성하고 컨트롤러에서 전달된 데이터를 사용하여 웹 페이지를 동적으로 생성합니다. Thymeleaf 템플릿은 HTML 문서에 추가적인 속성을 포함하여 정적 및 동적 데이터를 처리할 수 있습니다.
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello Page</title>
</head>
<body>
    <h1 th:text="${message}"></h1>
</body>
</html>

이제 애플리케이션을 실행하고 브라우저에서 “/hello” 경로를 요청하면, 컨트롤러에서 전달된 데이터를 사용하여 Hello 메시지가 포함된 웹 페이지를 볼 수 있습니다.

이는 Thymeleaf와 Spring MVC의 간단한 통합 방법이며, 더 많은 기능과 세부 설정을 적용할 수 있습니다. 자세한 내용은 Thymeleaf와 Spring MVC의 공식 문서를 참조하시기 바랍니다.

참조: