SpringBoot详细讲解视图整合引擎thymeleaf

让我来详细讲解一下“SpringBoot详细讲解视图整合引擎thymeleaf”的完整攻略。

1. 什么是Thymeleaf

Thymeleaf是一种现代化的服务器端模板引擎,可支持HTML、CSS、XML、JavaScript等文档类型。它的语法十分简单且灵活,可以通过简单而自然的模板表达式快速地构建出动态内容渲染的视图。

2. 如何整合Thymeleaf

2.1 添加依赖

在Maven中,我们需要在pom.xml文件中添加如下依赖:

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

2.2 创建Thymeleaf的模板文件

在SpringBoot的工程结构中,我们需要在src/main/resources/templates目录下创建如下的HTML模板文件。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>欢迎页</title>
</head>
<body>
    <h1 th:text="${welcomeMessage}"></h1>
</body>
</html>

Thymeleaf模板的语法非常简单,从上面的示例中可以看出,我们只需要使用th:text属性实现了动态数据的渲染,这里我们通过welcomeMessage变量来显示服务器端返回的欢迎信息。

2.3 创建控制器

在SpringBoot框架中,我们需要首先定义一个控制器类,来实现对应的路由映射。

@Controller
public class HomeController {

    @GetMapping("/")
    public String home(Model model) {
        model.addAttribute("welcomeMessage", "欢迎来到我们的网站!");
        return "home"; // 重定向到模板home.html
    }
}

从上面的示例代码中可以看出,我们通过Model对象将变量welcomeMessage交由模板解析引擎渲染,同时返回到名为home的模板路径,将结果返回给客户端。

2.4 运行程序

完成上述代码的编写后,我们需要通过SpringBoot提供的@SpringBootApplication注解来启动整个应用程序。此时,我们访问http://localhost:8080可以看到如下的欢迎页面。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>欢迎页</title>
</head>
<body>
    <h1>欢迎来到我们的网站!</h1>
</body>
</html>

3. 示例2:Thymeleaf中使用迭代语句

在Thymeleaf模板中,我们还可以使用迭代语句,来循环遍历一个数组或者集合对象。如下面这个示例所示。

3.1 创建模板文件

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>文章列表</title>
</head>
<body>
    <h1>文章列表</h1>

    <table>
        <thead>
            <tr>
                <th>编号</th>
                <th>标题</th>
                <th>作者</th>
                <th>发布日期</th>
            </tr>
        </thead>
        <tbody>
            <tr th:each="art,iter: ${articles}">
                <td th:text="${iter.count}"></td>
                <td th:text="${art.title}"></td>
                <td th:text="${art.author}"></td>
                <td th:text="${art.publishDate}"></td>
            </tr>
        </tbody>
    </table>
</body>
</html>

从上面的示例代码中可以看出,我们通过th:each标签属性快速地循环遍历了一个名为articles的集合对象,并且将循环元素命名为art,同时迭代计数器通过iter对象进行统计,随之渲染到页面上的表格当中。

3.2 添加测试数据

在进行模板的测试之前,我们需要先设置一些测试数据,如下所示:

@RestController
public class ArticleController {

    @GetMapping("/articles")
    public List<Article> list() {
        List<Article> articles= new ArrayList<>();
        articles.add(new Article("01", "Thymeleaf的基本使用", "宋老师", new Date()));
        articles.add(new Article("02", "SpringBoot集成Thymeleaf", "小芳", new Date()));
        articles.add(new Article("03", "Java进阶之路", "大哥", new Date()));
        return articles;
    }
}

在上述代码中,我们通过Article对象来定义了一组测试数据,其中包括了标题、作者、发布日期等字段。

3.3 运行程序

如果我们按照上述的步骤编写完整的代码后,就可以将运行SpringBoot程序,并访问http://localhost:8080/articles,来看到如下的渲染效果:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>文章列表</title>
</head>
<body>
    <h1>文章列表</h1>

    <table>
        <thead>
            <tr>
                <th>编号</th>
                <th>标题</th>
                <th>作者</th>
                <th>发布日期</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>Thymeleaf的基本使用</td>
                <td>宋老师</td>
                <td>2021-08-19</td>
            </tr>
            <tr>
                <td>2</td>
                <td>SpringBoot集成Thymeleaf</td>
                <td>小芳</td>
                <td>2021-08-19</td>
            </tr>
            <tr>
                <td>3</td>
                <td>Java进阶之路</td>
                <td>大哥</td>
                <td>2021-08-19</td>
            </tr>
        </tbody>
    </table>
</body>
</html>

从上述示例代码中可以看出,我们通过th:each标签属性快速地循环遍历了article集合对象,并且将循环元素命名为art,同时迭代计数器通过iter对象进行统计,并且渲染到页面上的表格当中,实现了良好的视图整合。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot详细讲解视图整合引擎thymeleaf - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 详解Spring Boot最新版优雅停机的方法

    详解Spring Boot最新版优雅停机的方法 Spring Boot 是一个非常流行的 Java Web 开发框架,但在生产环境中,如果需要升级或重启应用,就需要考虑如何优雅地停止应用,以免影响用户访问。本文将详细讲解 Spring Boot 最新版优雅停机的方法。 为什么需要优雅停机 通常,为了升级应用程序或更改配置文件等原因需要停止应用程序。 在这种情…

    Java 2023年5月19日
    00
  • Sprint Boot @RequestMapping使用方法详解

    @RequestMapping是Spring Boot中的一个注解,它用于将HTTP请求映射到控制器方法上。在使用Spring Boot开发Web应用程序时,@RequestMapping是非常重要的。本文将详细介绍@RequestMapping的作用和使用方法,并提供两个示例说明。 @RequestMapping的作用 @RequestMapping的作用…

    Java 2023年5月5日
    00
  • Java Stream的基本概念以及创建方法

    Java Stream是在Java 8中引入的一种全新的API,它主要用于处理集合类数据(数组、List、Set等)并支持函数式编程,提供流式操作的方法,使得操作简洁高效。本文将从Java Stream的基本概念和创建方法两个方面,为大家介绍Java Stream的使用技巧。 基本概念 流 Java Stream 是数据渠道,用于操作数据源(例如:集合、数组…

    Java 2023年5月26日
    00
  • Java的Spring AOP详细讲解

    关于“Java的Spring AOP详细讲解”的攻略,我可以给你讲解一下。首先,我们需要明白什么是AOP,AOP全称是Aspect Oriented Programming,即面向切面编程。它是一种编程思想,可以将程序中相同的横切面代码抽取出来,集中到一起进行管理和处理。Spring AOP是基于AOP思想的实现,可以很好的解决代码耦合问题。 在Spring…

    Java 2023年5月19日
    00
  • Java搜索与图论之DFS和BFS算法详解

    Java搜索与图论之DFS和BFS算法详解 DFS算法基本原理 DFS(深度优先搜索)指的是从图的某个顶点出发,访问其所有能到达的顶点,并且尽可能深的搜索其中一支支路径的搜索算法。遍历过的点存放到形成的树中。树中每个结点的祖先结点都位于它的所有子树中,它的祖先结点包括它父亲结点和它父亲的祖先结点。DFS一般采用递归或者栈实现,其算法流程如下: 访问起始顶点 …

    Java 2023年5月19日
    00
  • 深入浅出Java mvc_动力节点Java学院整理

    深入浅出Java MVC 介绍 Java MVC是一种设计模式,它将应用程序划分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种分层架构为应用程序提供了更好的可扩展性和灵活性。 MVC的基本原则 模型(Model) 模型是应用程序中的核心组件,它表示应用程序要处理的数据以及对数据进行操作的逻辑。在Java中,模型可以…

    Java 2023年6月15日
    00
  • JVM 是如何工作的?

    以下是关于JVM工作原理的完整使用攻略: JVM是什么? JVM(Java Virtual Machine)是Java虚机的缩写,是Java程序运行的环境。JVM是一种虚机,它可以在不同的操作系统上运行Java程序,提供了程序的跨平性。 JVM的工作原理 JVM的工作原理可以分为以下几个步骤: 加载:JVM将Java的.class加载到内存中。 验证:JVM…

    Java 2023年5月12日
    00
  • SpringMVC @ControllerAdvice使用场景

    以下是关于“SpringMVC @ControllerAdvice使用场景”的完整攻略,其中包含两个示例。 SpringMVC @ControllerAdvice使用场景 @ControllerAdvice是SpringMVC中的一个注解,用于定义全局的异常处理器和全局的数据绑定器。本文将介绍@ControllerAdvice的使用场景,并提供两个示例。 全…

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