springboot的使用thymeleaf
时间: 2025-01-06 16:37:27 浏览: 15
### 如何在 Spring Boot 中集成和配置 Thymeleaf 模板引擎
#### 添加依赖项
为了使 Spring Boot 项目能够使用 Thymeleaf,需引入 `spring-boot-starter-thymeleaf` 组件。这可以通过修改项目的构建文件来完成。
对于 Maven 构建工具而言:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
```
而对于 Gradle 用户来说,则应添加如下内容到 build.gradle 文件里:
```groovy
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
```
此操作完成后,Spring Boot 将自动检测并初始化 Thymeleaf 所需的各项设置[^1]。
#### 修改 application.properties 或者 application.yml 配置文件
为了让开发者更方便地调试应用程序,在开发环境中通常会禁用模板缓存机制,并指定 HTML 文件的位置路径及其扩展名。具体做法是在应用配置文件中加入相应参数:
如果采用的是 properties 格式的配置文件:
```properties
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
```
当偏好 YAML 方式表达时,则写成这样子的形式:
```yaml
spring:
thymeleaf:
cache: false
prefix: classpath:/templates/
suffix: .html
```
上述设定使得每次请求都会重新加载最新的模板资源,从而便于即时看到更改后的效果[^4]。
#### 创建控制器类与视图层HTML文档
接下来就是编写业务逻辑处理部分——Controller 控制器类,用于接收 HTTP 请求并将数据模型传递给对应的 Thymeleaf 页面进行渲染展示。假设有一个简单的例子想要返回当前时间戳信息给客户端显示出来:
Java代码片段如下所示:
```java
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class TimeController {
@GetMapping("/time")
public String showTime(Model model){
long currentTimeMillis = System.currentTimeMillis();
model.addAttribute("currentTime", new java.sql.Timestamp(currentTimeMillis));
return "show_time";
}
}
```
与此同时,在 resources/templates 目录下新建名为 `show_time.html` 的网页文件,其内部结构可能像下面这段那样简单明了:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Show Current Time</title>
<meta charset="UTF-8"/>
</head>
<body>
<p>The current server time is : <span th:text="${currentTime}"></span></p>
</body>
</html>
```
这里利用到了 `${}` 占位符语法去获取由 Controller 层注入的数据变量值[^2]。
阅读全文