创建 Thymeleaf 视图
在 SpringMVC 中,我们需要创建视图来呈现响应内容。对于 Thymeleaf 视图,我们可以使用 ThymeleafView 来创建。
下面是一个 SpringMVC 控制器的示例,演示如何创建 Thymeleaf 视图:
代码语言:javascript复制@Controller
public class MyController {
@GetMapping("/hello")
public ModelAndView sayHello() {
ModelAndView mav = new ModelAndView();
mav.setViewName("hello");
mav.addObject("message", "Hello, Thymeleaf!");
return mav;
}
}
在上面的示例中,我们使用 ModelAndView 来创建一个 Thymeleaf 视图。我们使用 setViewName() 方法设置视图的名称为 "hello",并使用 addObject()方法向视图添加一个名为 "message" 的属性,属性值为 "Hello, Thymeleaf!"。
创建 Thymeleaf 模板
Thymeleaf 模板是用于生成动态 HTML 内容的模板。模板中可以包含 Thymeleaf 的表达式语言,通过这种表达式语言,我们可以动态地渲染 HTML 内容。
下面是一个示例 Thymeleaf 模板:
代码语言:javascript复制<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Thymeleaf Example</title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
在上面的示例中,我们定义了一个 HTML 文档,并使用 xmlns:th 属性声明 Thymeleaf 的命名空间。我们使用 th:text 属性将 "message" 属性的值插入到 h1 标签中。
测试 Thymeleaf 视图
现在我们已经完成了 Thymeleaf 视图和模板的创建,我们可以启动 SpringMVC 应用程序并测试它们了。
在浏览器中输入 "http://localhost:8080/hello",你将会看到一个包含 "Hello, Thymeleaf!" 的 h1 标签的 HTML 页面。
Thymeleaf 表达式语言
在 Thymeleaf 模板中,我们可以使用 Thymeleaf 的表达式语言来动态地渲染 HTML 内容。
下面是一些常用的 Thymeleaf 表达式语言示例:
代码语言:javascript复制<!-- 输出属性值 -->
<p th:text="${name}">John Smith</p>
<!-- 输出集合元素 -->
<ul>
<li th:each="item : ${items}" th:text="${item}">Item</li>
</ul>
<!-- 条件判断 -->
<p th:if="${isVip}">Welcome, VIP member!</p>
<p th:unless="${isVip}">Welcome, regular member!</p>
<!-- 循环迭代器 -->
<div th:each="i : ${#numbers.sequence(1, 5)}" th:text="${i}">1</div>
在上面的示例中,我们使用了 Thymeleaf 表达式语言来动态地输出属性值、集合元素和循环迭代器等内容。