文章目录
1. 定义
Thymeleaf 是一个用于在 Web 应用程序中进行服务器端 Java 模板渲染的 Java 库。它是一种用于构建 Web 应用程序的模板引擎,专注于生成可在浏览器中正确显示的 HTML。
2. 设计目标
Thymeleaf 的设计目标之一是使模板更容易与浏览器中的原始 HTML 一起查看,这样即使在没有模板引擎的情况下,也可以正确地显示。
3. 官网
4. Spring 集成 Thymeleaf
1)添加依赖
在生成的项目中,确保在 pom.xml
文件中有 Thymeleaf 的依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
这个依赖将包含 Spring Boot 对 Thymeleaf 的自动配置
2)创建模版
在 src/main/resources/templates
目录下创建 Thymeleaf 模板文件。
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Spring Demo</title>
</head>
<body>
<h1 th:text="${msg}"></h1>
</body>
</html>
这个简单的模板包含一个使用 Thymeleaf 表达式的标题,${msg} 处会显示 Java 后台给我传回来的信息
3)创建Controller
创建一个简单的控制器类,用于处理页面请求:
package com.cheney.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("msg", "Hello Thymeleaf");
return "index";
}
}
这个控制器有一个 hello
方法,该方法通过 Model
将消息传递给 Thymeleaf 模板,并返回模板的名称,并且会将 “Hello Thymeleaf” 携带到 HTML 为 ${msg} 赋值,再通过 HTML 自己去渲染。
4)启动程序
5)执行验证
使用浏览器访问如下的 URL,就能够看到一个包含 Thymeleaf 表达式的页面啦
5. 代码详细
总结
至此,就已经成功的使用 Spring Boot 集成了 Thymeleaf 模版引擎并创建了一个简单的动态 Web 应用程序。这仅仅是一个入门级的例子,Thymeleaf 提供了丰富的功能,包括表达式、条件语句、迭代等,使你能够更灵活地构建复杂的页面。希望这篇博客能帮助你走入 Thymeleaf 的大门。