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

下面是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日

相关文章

  • Java C++ 算法题解leetcode652寻找重复子树

    Java C++ 算法题解leetcode652寻找重复子树 题目描述 给定一棵二叉树,返回所有重复子树的根节点,这些子树重复出现在原始的二叉树中。重复的子树意味着在同一位置具有相同的结构以及相同的节点值。 思路分析 我们需要类型为 Map 的一个 map,该 map 用于存储所有子树的出现次数。 我们对二叉树做一次后序遍历,得到一个标识了每一个子树的字符串…

    Java 2023年5月19日
    00
  • Spring Boot2.x集成JPA快速开发的示例代码

    Spring Boot2.x集成JPA快速开发的示例代码 在Spring Boot应用程序中,我们可以使用JPA(Java Persistence API)来快速开发数据库相关的应用程序。本文将详细讲解Spring Boot2.x集成JPA快速开发的完整攻略,并提供两个示例。 1. 添加JPA依赖 在pom.xml文件中添加以下依赖: <depende…

    Java 2023年5月15日
    00
  • Java实现简单图形界面计算器

    来一份详细的“Java实现简单图形界面计算器”的攻略吧。 一、概述 本攻略将带领读者用Java实现一个简单的图形界面计算器。主要用到的技术是Swing,一个Java提供的GUI工具包。通过这个攻略,读者将了解到如何使用Swing快速完成一个图形界面程序的开发。 二、实现步骤 创建项目 首先,我们需要创建一个Java项目。可以使用Eclipse/IDEA等开发…

    Java 2023年5月19日
    00
  • 浅谈jsp文件和HTML互相引入的乱码问题

    来讲解一下如何解决jsp文件和HTML互相引入的乱码问题。 1. 问题背景 在jsp文件中,我们经常需要嵌入html页面,即在jsp文件中引入html文件。但是在引入的过程中,经常会出现乱码的情况。 比如,在一个jsp文件中引入一个html文件: <%@ page contentType="text/html;charset=UTF-8&qu…

    Java 2023年5月20日
    00
  • 使用hibernate和struts2实现分页功能的示例

    使用Hibernate和Struts2实现分页功能可以分为以下几个步骤: 添加依赖 在pom.xml文件中添加Hibernate和Struts2的依赖,示例代码如下: <dependencies> <!– Hibernate –> <dependency> <groupId>org.hibernate&lt…

    Java 2023年5月20日
    00
  • springboot 自定义启动器的实现

    Spring Boot自定义启动器的实现 Spring Boot是一个流行的Java框架,可以帮助开发人员快速构建和部署应用程序。Spring Boot提供了许多内置的启动器,可以帮助我们快速集成常用的框架和库。除了内置的启动器之外,我们还可以创建自定义的启动器,以便在应用程序中重复使用自定义的配置和依赖关系。本文将详细讲解如何创建Spring Boot自定…

    Java 2023年5月14日
    00
  • Struts2开发环境搭建 附简单登录功能实例

    Struts2开发环境搭建 附简单登录功能实例 开发环境要求 首先,我们需要准备好以下开发环境:- Java JDK 1.7或者更高版本- Apache Tomcat 7或者更高版本- Eclipse IDE 或者其他Java集成开发环境 下载安装Tomcat 下载Tomcat 在Apache Tomcat的官网上,我们可以选择合适的版本进行下载和安装。一般…

    Java 2023年5月20日
    00
  • bootstrap制作jsp页面(根据值让table显示选中)

    下面是“bootstrap制作jsp页面(根据值让table显示选中)”的完整攻略。 1. 知识准备 在学习本攻略前,需要先了解以下知识: JSP Bootstrap jQuery 如果对以上知识不熟悉,请先进行学习。 2. 实现步骤 2.1 创建HTML基础页面 在JSP中使用Bootstrap需要引入Bootstrap的CSS和JS文件。因此,首先需要创…

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