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日

相关文章

  • 常见的Java认证授权框架有哪些?

    常见的Java认证授权框架有很多,比如Spring Security、Shiro、Apache Knox等。下面我将重点介绍Spring Security的使用攻略。 配置Spring Security 首先,在Spring Boot项目中,我们可以在pom.xml文件中引入Spring Security依赖: <dependency> <…

    Java 2023年5月11日
    00
  • Java Spring框架简介与Spring IOC详解

    Java Spring框架简介 Spring是一个轻量级的Java框架,用于构建企业级应用程序。它提供了一系列的模块,包括Spring Core、Spring MVC、Spring Data、Spring Security等,可以帮助开发人员快速构建高质量的应用程序。 Spring框架的主要特点包括: 轻量级:Spring框架本身非常轻量级,不需要依赖其他的…

    Java 2023年5月18日
    00
  • SpringBoot安全认证Security的实现方法

    下面是Spring Boot安全认证Security的实现方法的完整攻略。 1. Spring Security简介 Spring Security是基于Spring框架的安全认证框架,在Spring Boot项目中可以很方便地实现用户身份认证和授权管理。 Spring Security提供了一个功能强大且灵活的框架,能够应对绝大多数的安全需求。它提供了许多…

    Java 2023年5月20日
    00
  • 关于MyBatis各种SQL操作详解

    关于MyBatis各种SQL操作详解 MyBatis是一款优秀的持久层框架,它允许使用简单的xml或注解来映射Java对象和数据库记录。在MyBatis中,SQL是通过Mapper文件来进行配置的,Mapper文件中定义了各种SQL语句以及参数映射规则。接下来详细介绍MyBatis中各种SQL操作。 插入数据 在MyBatis中插入数据非常简单,只需要在Ma…

    Java 2023年5月20日
    00
  • Spring Boot详细打印启动时异常堆栈信息详析

    下面是关于Spring Boot详细打印启动时异常堆栈信息详析的完整攻略: 1. 为什么需要打印启动时异常堆栈信息 在应用程序启动的过程中,可能会出现诸如配置不正确、依赖缺失等问题,导致应用程序启动失败。此时,打印详细的异常堆栈信息能够帮助我们更快、更准确地确定问题所在,并进行相应的调整。因此,了解如何打印启动时异常堆栈信息是非常必要的。 2. 如何配置Sp…

    Java 2023年5月27日
    00
  • 解决Tomcat报404问题大全(包括tomcat可以正常运行但是报404)

    解决Tomcat报404问题大全 1. 检查配置文件 第一步是检查Tomcat的配置文件,确保它们被正确地设置了。注意以下两个配置文件: catalina.properties 这个文件包含了Tomcat的基本设置。在这个文件中,你需要确保以下设置是正确的: common.loader=${catalina.base}/lib,${catalina.base…

    Java 2023年5月20日
    00
  • JSP中 Session和作用域的使用

    下面是关于“JSP中 Session和作用域的使用”的完整攻略。 什么是Session和作用域 在JSP中,”作用域(Scope)”是指在某个特定的范围内,程序可以访问到的变量。JSP中的作用域是从大到小,依次为:application、session、request和page。 其中,”Session”就是 Session 作用域,代表一个用户会话过程,当…

    Java 2023年6月15日
    00
  • 别了Java EE! 正式更名为Jakarta

    针对Java EE正式更名为Jakarta的问题,我会进行详细的讲解,包括以下几点: 1. 背景 在2017年8月,Oracle公司宣布将 Java Enterprise Edition(EE)的所有商标和相关的Java EE规范文档转移到Eclipse基金会。在经过一段时间的讨论、咨询和协作后,Java EE正式在2018年9月转交给了 Eclipse 基…

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