SpringBoot自带模板引擎Thymeleaf使用详解

开发 架构
下面主要介绍在SpringBoot中使用Thymeleaf模板引擎的简单示例。Thymeleaf具有许多其他功能和特性,例如循环、条件语句、变量替换等等,

SpringBoot是一个流行的Java框架,它提供了许多功能和插件,以简化Web应用程序的开发过程。其中之一是Thymeleaf模板引擎,它是一个流行的Java模板引擎,用于在Web应用程序中渲染HTML页面。

在SpringBoot中使用Thymeleaf非常简单,以下是使用Thymeleaf作为模板引擎的步骤:

添加依赖

首先,在项目的pom.xml文件中添加Thymeleaf的依赖:

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

其中{version}是SpringBoot的版本号。

配置Thymeleaf

在application.properties或application.yml文件中添加以下配置:

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html

这些配置项指定了模板文件的存放路径、文件名后缀、模板模式、编码格式和内容类型。

创建模板文件

创建一个HTML模板文件,例如index.html,并将其放置在
/src/main/resources/templates/目录下。在该文件中,你可以使用Thymeleaf的语法来定义动态内容。

例如,以下是一个简单的index.html文件:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Welcome to my site</title>
</head>
<body>
    <h1 th:text="${title}">Hello World!</h1>
</body>
</html>

在这个例子中,我们使用了th:text属性来定义一个动态文本,它会被渲染为页面上的标题。

创建控制器

创建一个控制器类,例如IndexController.java,并将其放置在/src/main/java/目录下。在该类中,你可以使用@Controller和@GetMapping注解来定义一个处理HTTP GET请求的方法。

例如,以下是一个简单的IndexController类:

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class IndexController {
 
    @GetMapping("/")
    public String index(Model model) {
        model.addAttribute("title", "Welcome to my site");
        return "index";
    }
}

在这个例子中,我们使用@GetMapping注解来定义一个处理/路径的HTTP GET请求的方法。该方法将"title"属性添加到Model对象中,并将其返回值设置为"index",这表示渲染index.html模板文件。

  1. 启动应用程序并查看结果

启动SpringBoot应用程序并访问首页(即/路径),你应该会看到一个带有"Welcome to my site"标题的页面。这是因为控制器方法将"title"属性添加到Model对象中,并返回了"index"字符串,这导致Thymeleaf引擎渲染了index.html模板文件,并将"title"属性的值插入到h1元素中。

以上就是在SpringBoot中使用Thymeleaf模板引擎的简单示例。Thymeleaf具有许多其他功能和特性,例如循环、条件语句、变量替换等等,可以让你更加灵活地渲染HTML页面。如果你想了解更多关于Thymeleaf的信息,请查看官方文档或参考相关教程和示例代码。

责任编辑:姜华 来源: 今日头条
相关推荐

2023-05-14 17:16:22

分类树SpringBoot

2017-01-04 15:22:57

TrimPath模板引擎

2021-01-11 13:46:26

Spring BootThymeleafJava

2009-10-09 10:52:43

ASP.NET模板引擎

2013-08-20 18:50:46

JS模板引擎模块化Web App

2016-11-01 20:26:47

前端模板underscoreWeb

2017-10-17 15:14:33

Spring BooThymeleafWeb

2020-05-22 15:45:30

Linuxlogrotate神器

2017-03-10 18:29:17

Androidfreemarker应用

2021-08-16 11:59:32

Linuxlogrotate日志文件

2011-07-07 16:15:20

Smarty

2021-07-13 07:31:26

Springboot编程事务管理

2023-08-03 08:06:50

2019-11-13 09:01:48

开源JavaScript模板引擎

2011-07-15 14:01:50

PHP模板引擎

2023-11-10 08:17:01

分布式搜索引擎

2023-07-03 15:55:05

语法jpa状态

2020-10-19 11:49:32

NodeJavaScript

2014-05-16 11:09:38

Handlebars模板引擎

2012-03-06 15:34:05

JavaFreeMarker
点赞
收藏

51CTO技术栈公众号