📅  最后修改于: 2023-12-03 15:20:13.045000             🧑  作者: Mango
在Spring Boot项目中,我们可以使用Thymeleaf模板引擎来渲染HTML页面。模板文件通常包含HTML标记和动态内容,比如表达式和语句。
为了在Spring Boot项目中加载和使用模板文件,我们需要将它们放在资源文件夹中,并在应用程序中进行配置。
以下是在Spring Boot项目中从资源文件夹中加载模板文件的步骤:
我们可以使用任何文本编辑器创建模板文件,文件扩展名通常为“.html”。在模板文件中,我们可以使用Thymeleaf表达式,如:
<p th:text="'Hello, ' + ${name} + '!'" />
此表达式将显示一个包含名称的问候语。
我们还可以使用语句来控制模板的流程,如:
<div th:if="${name}">...</div>
此语句将仅在名字变量存在时显示该元素。
我们可以将模板文件放在源代码文件夹的子文件夹中,或者将它们放在项目的resources目录下。
创建一个名为“templates”的目录,并将所有模板文件放在该目录中。
我们需要在pom.xml文件中添加以下依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
这将添加Thymeleaf模板引擎库以及相关的依赖项。
我们需要在应用程序的配置文件(如application.properties或application.yaml)中添加以下配置:
spring:
thymeleaf:
prefix: classpath:/templates/
suffix: .html
encoding: UTF-8
cache: false
这将告诉Spring Boot引擎查找“templates”目录中的HTML文件,并使用Thymeleaf渲染它们。
我们可以在控制器中使用Thymeleaf模板来渲染HTML页面。
以下是一个简单的示例控制器:
@Controller
public class GreetingController {
@GetMapping("/greeting")
public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}
}
在此示例中,我们定义了一个名为“greeting”的端点,并使用@RequestParam注解读取查询参数。我们还将名称添加到模型中,并将其传递给名为“greeting”的HTML模板。
我们可以在“templates”目录中创建一个名为“greeting.html”的文件,如下所示:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Greeting</title>
</head>
<body>
<p th:text="'Hello, ' + ${name} + '!'"></p>
</body>
</html>
此模板将创建一个包含名称问候语的HTML页面。
我们可以通过运行Spring Boot应用程序来测试此示例:
mvn spring-boot:run
打开浏览器并访问“http://localhost:8080/greeting?name=John”,您将看到一个包含个人问候语的HTML页面。
以上就是在Spring Boot项目中从资源文件夹中加载模板文件的步骤。