Springboot整合thymleaf模板引擎过程解析

yizhihongxing
  1. Spring Boot整合Thymeleaf模板引擎的步骤

(1)引入相关依赖

在pom.xml中加入以下依赖:

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

(2)设置Thymeleaf模板引擎参数

在application.properties中设置以下参数:

# 设置Thymeleaf的前缀和后缀
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html

# 开启模板缓存
spring.thymeleaf.cache=true

# 设置编码
spring.thymeleaf.encoding=UTF-8

# 设置可解析的内容类型
spring.thymeleaf.content-type=text/html

(3)创建Thymeleaf模板

在resources/templates目录下创建模板文件,例如index.html。模板中可以使用Thymeleaf提供的各种标签和表达式。

(4)在Controller中使用模板

在Controller中,使用ModelAndView返回需要展示的模板名称,以及模板中需要的数据:

@Controller
public class MyController {
    @GetMapping("/")
    public ModelAndView index() {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("index");  // 设置要展示的模板名称
        mv.addObject("message", "Hello Thymeleaf!");  // 设置模板中需要的数据
        return mv;
    }
}
  1. 示范示例

(1)使用Thymeleaf模板引擎实现简单的页面效果

首先,创建一个简单的Spring Boot项目,并使用Thymeleaf模板引擎展示一个页面。在src/main/resources/templates目录下,创建一个名为index.html的模板文件,内容如下:

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

这里使用了Thymeleaf提供的th:text属性,可以将Controller中添加到ModelAndView中的message属性的值显示在页面上。

接下来,创建一个Controller,在其中返回ModelAndView对象。代码如下:

@Controller
public class MyController {
    @GetMapping("/")
    public ModelAndView index() {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("index");
        mv.addObject("message", "Hello Thymeleaf!");
        return mv;
    }
}

启动应用程序,访问http://localhost:8080,即可看到展示的页面,其中包含"Hello Thymeleaf!"这个文本。

(2)在Thymeleaf模板中使用条件判断和循环

首先,修改index.html,添加一些条件判断和循环的实例。代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Thymeleaf Demo</title>
</head>
<body>
    <h1>Thymeleaf Demo</h1>

    <div th:if="${flag}">
        <p>flag is true</p>
    </div>

    <ul>
        <li th:each="item : ${items}" th:text="${item}"></li>
    </ul>
</body>
</html>

这里使用了Thymeleaf提供的th:ifth:each属性,分别实现了条件判断和循环。

然后,在Controller中添加实现条件判断和循环需要的数据。代码如下:

@Controller
public class MyController {
    @GetMapping("/")
    public ModelAndView index() {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("index");
        mv.addObject("message", "Hello Thymeleaf!");
        mv.addObject("flag", true);
        mv.addObject("items", Arrays.asList("item1", "item2", "item3"));
        return mv;
    }
}

启动应用程序,访问http://localhost:8080,即可看到展示的页面,其中包含"flag is true"这个文本和三个列表项。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot整合thymleaf模板引擎过程解析 - Python技术站

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

相关文章

  • JAVA如何读取Excel数据

    读取Excel数据是Java开发中常见的任务。下面是完整的攻略: 1. 导入依赖 要读取Excel数据,需要导入Apache POI依赖。可以在pom.xml文件中添加以下依赖项: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi&lt…

    Java 2023年5月20日
    00
  • JavaWeb Hibernate使用全面介绍

    JavaWeb Hibernate使用全面介绍 什么是Hibernate Hibernate 是一个开源的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,它将 POJO 与数据库表建立映射关系,是一个全自动的 ORM 框架。 Hibernate的优势 具有很好的对象关系映射功能,减少了数据访问层的编码工作量; 支持普通的 SQL 查询,无需操心…

    Java 2023年5月31日
    00
  • java实现代码统计小程序

    首先,为了实现一个Java代码统计小程序,我们需要掌握以下几个方面的知识: Java I/O 操作:Java I/O 操作可以让我们读取和写入文件内容,包括字符流和字节流两种方式。 Java 正则表达式:正则表达式可以帮助我们识别代码中的各种语句和注释,便于代码统计。 Java 集合框架:Java 集合框架中的 List、Set 等集合类型可以帮助我们存储和…

    Java 2023年5月23日
    00
  • 浅析JAVA中过滤器、监听器、拦截器的区别

    下面开始详细讲解“浅析JAVA中过滤器、监听器、拦截器的区别”的完整攻略。 概述 在Java Web开发中,过滤器、监听器、拦截器都是常用的三种组件,它们的作用都是在服务器接收请求和响应之间加入某种特性。虽然它们的功能有些相似,但它们的实现和应用场景又有所不同。 过滤器(Filter) 过滤器是在请求链中,对请求和响应进行预处理和后处理的组件。过滤器可以拦截…

    Java 2023年5月20日
    00
  • XML简介

    XML简介 XML(可扩展标记语言)是一种用于描述文档内容的标记语言,它使用标签来标识文档中各个部分的含义,并通过这些标记实现对文档内容的组织、表示和传输。相较于 HTML 等文档语言,XML 更加通用灵活,可以应用于各种场景。 XML 基础结构 XML 文档由各种元素构成,每个元素包含一个标记和一个值(也称为“内容”或“文本”)。标记用来表示该元素的类型和…

    Java 2023年5月26日
    00
  • mybatis3使用@Select等注解实现增删改查操作

    下面是使用MyBatis3的注解@Select等实现增删改查操作的完整攻略。 首先,我们需要在项目的pom.xml文件中添加MyBatis3的依赖,如下所示: <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifact…

    Java 2023年5月20日
    00
  • java获取当前时间和前一天日期(实现代码)

    获取当前时间和前一天日期是Java中常见的操作,下面我为大家介绍具体的实现方法和代码。 获取当前时间 Java中获取当前时间的方法有很多,这里介绍最常见的两种方法: 方法一:使用系统时间获取 我们可以使用java.util.Date类的getTime()方法获取当前时间的毫秒数,然后使用java.sql.Timestamp类将毫秒数转换成时间格式。 impo…

    Java 2023年5月20日
    00
  • Java时间复杂度、空间复杂度的深入详解

    Java时间复杂度、空间复杂度的深入详解 什么是时间复杂度? 时间复杂度是对一个算法运行时间的度量,通常用大O符号表示。 常见的时间复杂度有: O(1):常数复杂度,运行时间和数据规模无关,如单次循环、赋值等; O(logn):对数复杂度,如二分查找; O(n):线性复杂度,与数据规模成正比,如遍历一次数组; O(n^2):平方复杂度,与数据规模的平方成正比…

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