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

  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日

相关文章

  • javascript动态改变img的src属性图片不显示的解决方法

    当使用JavaScript动态改变img标签的src属性时,由于图片加载的延迟时间或者其他网络问题,有可能会导致图片无法正常显示。下面是改善这种情况的方法: 1. 图片加载完再显示 可以在图片载入完成后再显示图片,通过监听图片的 load 事件确保图片已成功加载,代码如下: var img = document.getElementById(‘myImg’)…

    Java 2023年6月15日
    00
  • 微信跳一跳辅助Java代码实现

    关于“微信跳一跳辅助Java代码实现”,我将给出以下完整攻略: 1. 分析跳一跳游戏原理 在进行跳一跳游戏代码实现之前,我们需要先分析游戏原理。跳一跳游戏的基本原理是:通过点击屏幕让小人跳到不同的方块上,每跳一次方块距离会变化,根据方块之间距离变化大小判定小人跳跃的距离。 2. 确定跳跃距离 我们可以通过Android模拟器运行跳一跳游戏,并观察日志信息,来…

    Java 2023年5月23日
    00
  • Spring Data JPA实现动态条件与范围查询实例代码

    接下来我将为您讲解使用Spring Data JPA实现动态条件与范围查询的完整攻略。在这个过程中我将包含两条示例,以便更好地了解实现的具体步骤。 什么是Spring Data JPA? Spring Data JPA是Spring Data项目中的一部分,它是对JPA(Java Persistence API)的封装。 通过使用Spring Data JP…

    Java 2023年5月20日
    00
  • spring boot多数据源动态切换代码实例

    下面将为您详细讲解如何实现在Spring Boot应用中实现多数据源动态切换,并提供两个示例。 一、前置条件 在开始编写代码之前,需要满足以下条件: 确保已经正确配置了多个数据源,这些数据源需要连接的数据库表结构和数据内容都应当是相同的; 当前应用中必须已经引入了相关依赖,这里采用Spring Boot 2.x版本为例: <dependencies&g…

    Java 2023年5月20日
    00
  • Spring IOC创建对象的两种方式

    创建对象是应用程序开发中最常见的操作之一。在Spring框架中,我们通常使用Spring IOC(控制反转)来管理对象的创建和整个应用程序的生命周期。Spring IOC的主要作用是根据应用程序中的配置,自动创建和维护应用程序中的对象。 Spring IOC创建对象的两种方式: 构造函数注入 Setter方法注入 下面将逐一介绍这两种方式。 1. 构造函数注…

    Java 2023年5月26日
    00
  • SpringBoot集成quartz实现定时任务详解

    SpringBoot集成Quartz实现定时任务详解 1. 什么是Quartz Quartz是一个开源的作业调度框架,其主要用于定时调度任务。它能够完成复杂的调度需求,如在指定时间执行任务、每天执行任务、周末执行任务等。 2. SpringBoot集成Quartz 2.1 引入依赖 我们首先需要在pom.xml文件中引入quartz和spring-boot-…

    Java 2023年5月19日
    00
  • @OneToMany查询陷入循环引用的解决方案

    当在实体类中使用@OneToMany注解定义一对多关系时,会出现查询数据时陷入循环引用的问题,导致查询效率低下。以下是解决方案的完整攻略: 1. 方案一:使用@JsonIgnore解决循环引用 @JsonIgnore注解可以用来忽略在实体类之间的相互依赖关系。加上该注解后,在查询数据时就可以排除循环引用导致的无限循环。 public class User {…

    Java 2023年5月20日
    00
  • idea中的Maven导包失败问题解决方案汇总

    下面我将详细讲解 “idea中的Maven导包失败问题解决方案汇总”的完整攻略,具体步骤如下: 1. 清理缓存 如果Maven导包失败,可以先尝试清理Maven的缓存: 依次点击File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> …

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