📅  最后修改于: 2023-12-03 15:20:12.753000             🧑  作者: Mango
Thymeleaf 是一个服务器端 Java 模板引擎。它可以通过 HTML、XML、JS、CSS 甚至文本文件生成页面。在 Spring Boot 中,Thymeleaf 是一个可选的视图技术,它允许开发人员使用标准的 HTML 模板来快速构建 web 应用,同时可以轻松集成到我们的项目中。
本教程将介绍 Spring Boot 中如何使用 Thymeleaf 来处理视图。
首先,打开你的项目 pom.xml (如果你使用 Maven)或 build.gradle (如果你使用 Gradle) 文件,在其中添加 Thymeleaf 依赖:
Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Gradle:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
}
这将使 Spring Boot 能够自动配置 Thymeleaf,所以我们不需要其他配置就可以开始使用它了。
如果你想自定义 Thymeleaf 的一些配置,你可以在你的 application.properties 或 application.yml 文件中添加以下内容:
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
这里,我们禁用了 Thymeleaf 的缓存,将页面模板存储在 classpath:/templates/ 文件夹中,指定了文件扩展名为 .html,设置了视图模式为 HTML,以及指定了视图编码为 UTF-8。
之后我们需要创建 templates 文件夹,并在其中定义我们的 HTML 模板。Thymeleaf 使用模板来生成 web 视图。
接下来我们将创建一个简单的 Thymeleaf 模板,并将其作为 web 视图返回。我们假定一个简单的模型,该模型包含一个标题和一个消息。
在 src/main/resources/templates 中创建一个名为 index.html 的文件:
<!DOCTYPE html>
<html>
<head>
<title>Spring Boot - Thymeleaf</title>
</head>
<body>
<h1 th:text="${title}"></h1>
<p th:text="${message}"></p>
</body>
</html>
在上面的代码中,我们使用了 Thymeleaf 的表达式来获取模型的属性。例如,${title} 取出了模型中的 title 属性,并将其显示为 HTML 页面的标题。同样,${message} 取出了模型中的 message 属性并将其显示为 HTML 段落。
现在我们需要一个控制器来处理视图,并返回 HTML 内容。下面是一个简单的控制器类:
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/")
public String home(Model model) {
String title = "Welcome to Thymeleaf!";
String message = "This is a sample Thymeleaf web page.";
model.addAttribute("title", title);
model.addAttribute("message", message);
return "index";
}
}
在上述代码中,我们使用了 @Controller 注解来标识这个类是一个控制器。我们还使用了 @GetMapping 注解来标识这个方法处理 GET 请求。方法返回一个名为 index 的字符串,这个字符串是我们之前在 templates 文件夹中定义的模板名称。
此外,我们注入一个 Model 对象,Model 用于在模板中共享模型数据。在 home 方法中,我们将模型属性添加到 Model 对象中。title 和 message 将被传递给模板。
现在我们已经准备好运行 Spring Boot 应用程序了。我们可以使用 Maven 或 Gradle 构建应用程序,并在本地主机上运行它。我们也可以使用 Spring Boot Maven 插件或 Gradle 插件直接运行应用程序。
我们建议使用 Maven 和 Spring Boot Maven 插件来构建和运行应用程序。要在本地运行应用程序,请打开终端并切换到应用程序的根目录,然后运行以下命令:
mvn spring-boot:run
或者,如果你使用 Gradle,运行以下命令:
./gradlew bootRun
当应用程序已经运行后,打开浏览器并输入 http://localhost:8080,您将看到我们刚刚创建的页面!
以上就是本文对于 Spring Boot 和 Thymeleaf 的简单介绍,你可以在你的项目中使用 Spring Boot 和 Thymeleaf 快速构建 Web 应用程序。我们提供了一个简单的教程,展示了如何创建模板视图和控制器,并在模板中渲染模型数据。阳光总在风雨后,收获总在努力过后,祝大家学习愉快!