반응형
컨트롤러에서 Thymeleaf로 데이터 전달
웹 애플리케이션에서 컨트롤러는 비즈니스 로직을 처리하고 결과를 뷰에 전달하는 역할을 합니다. 이번 챕터에서는 스프링 MVC에서 컨트롤러에서 Thymeleaf로 데이터를 전달하는 방법에 대해 알아보겠습니다.
1. 컨트롤러에서 데이터 전달
컨트롤러에서 Thymeleaf로 데이터를 전달하는 가장 일반적인 방법은 Model 객체를 사용하는 것입니다. 컨트롤러 메서드에서 Model 객체를 매개변수로 받아서 데이터를 추가하면, 해당 데이터는 뷰로 전달됩니다.
@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello, World!");
return "hello";
}
}
위의 예제에서는 "message"라는 이름의 속성에 "Hello, World!"라는 값을 추가하여 Thymeleaf로 전달하고 있습니다.
2. Thymeleaf에서 데이터 사용
전달된 데이터는 Thymeleaf 템플릿에서 ${속성명} 형식으로 사용할 수 있습니다.
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Hello Page</title>
</head>
<body>
<h1 th:text="${message}">Default Message</h1>
</body>
</html>
위의 예제에서는 ${message}를 사용하여 컨트롤러에서 전달된 "Hello, World!" 메시지를 출력하고 있습니다.
3. 코드 예제
다음은 컨트롤러에서 Thymeleaf로 데이터를 전달하는 간단한 예제입니다.
@Controller
public class MyController {
@GetMapping("/greeting")
public String greeting(Model model) {
String greetingMessage = "Hello, World!";
model.addAttribute("greeting", greetingMessage);
return "greeting";
}
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Greeting Page</title>
</head>
<body>
<h1 th:text="${greeting}">Default Greeting</h1>
</body>
</html>
위의 예제에서는 컨트롤러에서 "Hello, World!" 메시지를 "greeting"이라는 이름으로 Thymeleaf로 전달하고 있습니다.
컨트롤러에서 Thymeleaf로 데이터를 전달하는 것은 스프링 MVC 애플리케이션에서 뷰와 모델을 효과적으로 연결하는 핵심적인 부분입니다. 이를 통해 동적인 콘텐츠를 생성하고 사용자에게 전달할 수 있습니다.
반응형
'Thymeleaf' 카테고리의 다른 글
15. Thymeleaf의 유효성 검증 - 2 (0) | 2024.02.24 |
---|---|
14. Thymeleaf의 유효성 검증 - 1 (0) | 2024.02.24 |
13. Thymeleaf의 객체와 컨트롤러와의 상호작용 - 3 (0) | 2024.02.24 |
12. Thymeleaf의 객체와 컨트롤러와의 상호작용 - 2 (0) | 2024.02.24 |
10. Thymeleaf 템플릿 - 3 (0) | 2024.02.24 |
9. Thymeleaf 템플릿 - 2 (0) | 2024.02.22 |
8. Thymeleaf 템플릿 - 1 (0) | 2024.02.22 |
7. Thymeleaf 기본 문법 - 5 (0) | 2024.02.22 |