📜  spring boot项目中如何从资源文件夹中加载模板文件-Java(1)

📅  最后修改于: 2023-12-03 15:20:13.045000             🧑  作者: Mango

在Spring Boot项目中从资源文件夹中加载模板文件

在Spring Boot项目中,我们可以使用Thymeleaf模板引擎来渲染HTML页面。模板文件通常包含HTML标记和动态内容,比如表达式和语句。

为了在Spring Boot项目中加载和使用模板文件,我们需要将它们放在资源文件夹中,并在应用程序中进行配置。

以下是在Spring Boot项目中从资源文件夹中加载模板文件的步骤:

步骤1:创建模板文件

我们可以使用任何文本编辑器创建模板文件,文件扩展名通常为“.html”。在模板文件中,我们可以使用Thymeleaf表达式,如:

<p th:text="'Hello, ' + ${name} + '!'" />

此表达式将显示一个包含名称的问候语。

我们还可以使用语句来控制模板的流程,如:

<div th:if="${name}">...</div>

此语句将仅在名字变量存在时显示该元素。

步骤2:将模板文件放在资源文件夹中

我们可以将模板文件放在源代码文件夹的子文件夹中,或者将它们放在项目的resources目录下。

创建一个名为“templates”的目录,并将所有模板文件放在该目录中。

资源文件夹结构示例

步骤3:添加依赖项

我们需要在pom.xml文件中添加以下依赖项:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

这将添加Thymeleaf模板引擎库以及相关的依赖项。

步骤4:配置模板引擎

我们需要在应用程序的配置文件(如application.properties或application.yaml)中添加以下配置:

spring:
  thymeleaf:
    prefix: classpath:/templates/
    suffix: .html
    encoding: UTF-8
    cache: false

这将告诉Spring Boot引擎查找“templates”目录中的HTML文件,并使用Thymeleaf渲染它们。

步骤5:使用模板文件

我们可以在控制器中使用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模板。

步骤6:创建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页面。

步骤7:运行应用程序

我们可以通过运行Spring Boot应用程序来测试此示例:

mvn spring-boot:run

打开浏览器并访问“http://localhost:8080/greeting?name=John”,您将看到一个包含个人问候语的HTML页面。

以上就是在Spring Boot项目中从资源文件夹中加载模板文件的步骤。