반응형
메소드 호출
Thymeleaf에서는 메소드 호출을 통해 동적으로 데이터를 처리하고 웹 페이지를 렌더링할 수 있습니다. 이번 챕터에서는 Thymeleaf에서 메소드 호출을 사용하는 방법에 대해 알아보겠습니다.
1. 메소드 호출 기본 구문
Thymeleaf에서는 @{...} 기호를 사용하여 메소드를 호출할 수 있습니다. 메소드 호출은 컨트롤러나 서비스 클래스에서 정의된 메소드를 호출하여 결과를 화면에 표시하는 데 사용됩니다.
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Method Invocation</title>
</head>
<body>
<h1>Method Invocation</h1>
<p th:text="${@myService.generateMessage()}">Dynamic Message</p>
</body>
</html>
위의 예제에서는 myService라는 서비스 클래스의 generateMessage() 메소드를 호출하여 반환된 결과를 화면에 표시합니다.
2. 메소드 호출 시 인자 전달
메소드를 호출할 때 인자를 전달할 수도 있습니다. 이를 통해 동적으로 처리되는 데이터를 더욱 유연하게 다룰 수 있습니다.
@Service
public class MyService {
public String generateMessage(String name) {
return "Hello, " + name + "!";
}
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Method Invocation</title>
</head>
<body>
<h1>Method Invocation with Argument</h1>
<p th:text="${@myService.generateMessage('John')}">Dynamic Message</p>
</body>
</html>
위의 예제에서는 generateMessage() 메소드에 인자로 'John'을 전달하여 호출하고 있습니다.
3. 코드 예제
다음은 메소드 호출을 사용하는 Thymeleaf 템플릿의 간단한 예제입니다.
@Controller
public class MyController {
@Autowired
private MyService myService;
@GetMapping("/dynamicMessage")
public String dynamicMessage(Model model) {
model.addAttribute("myService", myService);
return "dynamicMessage";
}
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Dynamic Message</title>
</head>
<body>
<h1>Dynamic Message</h1>
<p th:text="${@myService.generateMessage()}">Dynamic Message without Argument</p>
<p th:text="${@myService.generateMessage('John')}">Dynamic Message with Argument</p>
</body>
</html>
위의 예제에서는 컨트롤러에서 MyService 클래스의 인스턴스를 Thymeleaf 템플릿으로 전달하여 메소드 호출을 수행하는 방법을 보여주고 있습니다. 메소드 호출을 통해 동적으로 데이터를 처리하는 것은 Thymeleaf의 강력한 기능 중 하나이며, 웹 애플리케이션의 유연성을 높여줍니다.
반응형
'Thymeleaf' 카테고리의 다른 글
17. Thymeleaf와 Spring Framework의 통합 - 2 (0) | 2024.02.24 |
---|---|
16. Thymeleaf와 Spring Framework의 통합 - 1 (0) | 2024.02.24 |
15. Thymeleaf의 유효성 검증 - 2 (0) | 2024.02.24 |
14. Thymeleaf의 유효성 검증 - 1 (0) | 2024.02.24 |
12. Thymeleaf의 객체와 컨트롤러와의 상호작용 - 2 (0) | 2024.02.24 |
11. Thymeleaf의 객체와 컨트롤러와의 상호작용 - 1 (0) | 2024.02.24 |
10. Thymeleaf 템플릿 - 3 (0) | 2024.02.24 |
9. Thymeleaf 템플릿 - 2 (0) | 2024.02.22 |