Spring Boot集成Thymeleaf模板引擎的完整步骤

yizhihongxing

下面是Spring Boot集成Thymeleaf模板引擎的完整步骤,包含两个示例说明。

1. 添加依赖

在pom.xml文件中添加如下依赖:

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

这样就可以使用Thymeleaf模板引擎了。

2. 配置Thymeleaf

在application.properties文件中添加如下配置:

spring.thymeleaf.cache=false
spring.thymeleaf.check-template=true
spring.thymeleaf.check-template-location=true
spring.thymeleaf.enabled=true
spring.thymeleaf.mode=HTML
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html

以上配置是常用的配置项,其中:
- spring.thymeleaf.cache=false:禁用缓存,这样在修改模板文件后不需要重启程序。
- spring.thymeleaf.prefix:设置Thymeleaf模板文件所在的目录。
- spring.thymeleaf.suffix:设置Thymeleaf模板文件的后缀名。

3. 编写控制器

@Controller
public class HomeController {

    @GetMapping("/")
    public String index(Model model) {
        model.addAttribute("message", "Hello, Thymeleaf!");
        return "index";
    }
}

以上代码中,@Controller注解用于声明HomeController为控制器,@GetMapping("/")表示当访问根路径时,调用index方法。

Model对象用于向模板中添加数据,这里向模板中添加了一个名为message的数据。

return "index"表示返回名为index的模板文件。由于配置中设置了classpath:/templates/为Thymeleaf模板文件所在的目录,所以这里返回的是classpath:/templates/index.html文件。

4. 编写模板文件

classpath:/templates/目录下创建index.html文件,并编写如下代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Spring Boot Thymeleaf Demo</title>
</head>
<body>
    <h1 th:text="${message}"></h1>
</body>
</html>

以上代码中,th:text="${message}"表示将模板中的message变量替换为HomeController中添加的数据。

示例1

我们现在启动程序,访问http://localhost:8080/,可以看到页面上显示了“Hello, Thymeleaf!”这个信息。

示例2

在HomeController中添加一个名为books的数据:

@Controller
public class HomeController {

    @GetMapping("/")
    public String index(Model model) {
        model.addAttribute("message", "Hello, Thymeleaf!");

        List<Book> books = new ArrayList<>();
        books.add(new Book("Java编程思想", "Bruce Eckel"));
        books.add(new Book("Spring实战", "Craig Walls"));
        books.add(new Book("深入理解Java虚拟机", "周志明"));

        model.addAttribute("books", books);

        return "index";
    }

    public static class Book {
        private String name;
        private String author;

        public Book(String name, String author) {
            this.name = name;
            this.author = author;
        }

        public String getName() {
            return name;
        }

        public String getAuthor() {
            return author;
        }
    }
}

在模板文件index.html中添加如下代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Spring Boot Thymeleaf Demo</title>
</head>
<body>
    <h1 th:text="${message}"></h1>
    <table>
        <thead>
            <tr>
                <th>Name</th>
                <th>Author</th>
            </tr>
        </thead>
        <tbody>
            <tr th:each="book : ${books}">
                <td th:text="${book.name}"></td>
                <td th:text="${book.author}"></td>
            </tr>
        </tbody>
    </table>
</body>
</html>

在页面上我们可以看到一个表格,其中显示了三本书的信息。这是因为HomeController中添加了一个名为books的数据,并将其传递给了模板文件。在模板中循环遍历这个数据,并且使用th:text将书的名字和作者显示在页面上。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot集成Thymeleaf模板引擎的完整步骤 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 关于JDK8中的字符串拼接示例详解

    关于JDK8中的字符串拼接示例详解攻略,可以分为以下几个部分。 一、背景介绍 在现代开发中,字符串的处理是开发中非常重要,且经常需要用到的一项技术。在JDK8中,Java提供了许多新的字符串拼接方式,包括 String.join()方法、String.format()方法、StringBuilder等。这些方法虽然实现的目的是一样的,但是使用的方式以及处理的…

    Java 2023年5月27日
    00
  • Spring-Validation 后端数据校验的实现

    下面我将为你详细讲解如何使用Spring-Validation实现后端数据校验的攻略。 什么是Spring-Validation? Spring-Validation是Spring框架中的一部分,可以用来实现后端的数据校验。它提供了很多常见的校验规则,也允许我们自定义校验规则。 Spring-Validation 的使用 引入依赖 首先,我们需要在pom.x…

    Java 2023年5月20日
    00
  • SpringBoot3.0整合chatGPT的完整步骤

    下面我来讲解“SpringBoot3.0整合chatGPT的完整步骤”的完整攻略。 前置条件 在开始整合chatGPT之前,我们需要做好以下准备工作: 首先,需要具备SpringBoot开发基础和chatGPT的相关知识。 确保已经安装好JDK和Maven,并且配置好环境变量。 获取chatGPT的代码库,设置好相关配置。 步骤一:创建SpringBoot项…

    Java 2023年5月19日
    00
  • Struts2截取字符串代码介绍

    接下来我会给你讲解一份完整的“Struts2截取字符串代码介绍”的攻略。你可以按照以下步骤来实现: 1. 自定义一个拦截器Interceptor 我们首先需要自定义一个拦截器Interceptor,该拦截器可以截取字符串中的部分内容。具体代码如下所示: public class StringInterceptor extends AbstractInterc…

    Java 2023年5月20日
    00
  • java单例五种实现模式解析

    Java单例五种实现模式解析 什么是单例模式? 单例模式是指一个类只能被实例化一次,并且全局都可以访问到这个实例。在实际开发中,很多情况下我们只需要一个实例,例如全局配置信息、日志管理等等,这时候使用单例模式可以节省系统资源,减少不必要的开销。 单例模式的特点 保证一个类只有一个实例。 提供一个访问该实例的全局入口。 不能被其他对象实例化。 五种实现模式 1…

    Java 2023年5月26日
    00
  • Java环境中MyBatis与Spring或Spring MVC框架的集成方法

    下面是关于“Java环境中MyBatis与Spring或Spring MVC框架的集成方法”的完整攻略,包含两个示例说明。 Java环境中MyBatis与Spring或Spring MVC框架的集成方法 在Java环境中,MyBatis与Spring或Spring MVC框架的集成非常常见。在本文中,我们将介绍如何将MyBatis与Spring或Spring…

    Java 2023年5月17日
    00
  • Maven工程pom中如何定义jdk版本

    当我们使用Maven构建Java项目时,一些重要的参数比如Java JDK版本需要在项目的pom.xml文件中定义。我们可以使用Maven中的maven-compiler-plugin插件来配置项目的JDK版本。下面是详细的步骤: 在项目的pom.xml文件中添加maven-compiler-plugin插件依赖 <build> <plug…

    Java 2023年5月20日
    00
  • java实现背单词程序

    Java实现背单词程序的完整攻略如下: 1. 程序功能设计 背单词程序需要具备以下功能: 读取从外部输入的单词库文件; 实现单词的随机抽取; 在控制台输出单词并等待用户输入答案; 判断用户的答案是否正确,并输出结果。 在这个基础上,我们可以进一步完善程序的功能,比如: 实现显示单词解释或例句功能; 实现根据用户的答题情况自动调整单词抽取频率; 实现存储用户的…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部