SpringBoot——Thymeleaf

189 阅读2分钟

前言

Thymeleaf,是在springBoot的学习过程中必定会经过的一个知识点,它是springBoot支持的一个模板引擎,在基于springBoot的web开发中有着十分重要的作用。

这里,就讲一讲关于 thymeleaf 在springBoot中的应用方式

正文

如何使用Thymeleaf

想要使用 Thymeleaf,我们需要进行两种配置:

  • pom.xml中导入thymeleaf 依赖
<!--        Thymeleaf-->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-thymeleaf</artifactId>
       </dependency>
<!--  springboot 版本为 2.7.10-->
  • 在创建的静态HTML页面中导入以下命名空间,注意需要设置在 html 标签中
xmlns:th="http://www.thymeleaf.org"

注:需要使用thymeleaf的静态页面必须放在 templates 包下

Thymeleaf 的各种用法

Thymeleaf 中有很多十分方便的用法。来帮助我们更有效率地进行Web开发,包括但不限于以下几种

  • 简化控制器中跳转网页时的返回值规模,如以下代码

@GetMapping({"/login"})
public String toLogin(){
    return "/login/Login";
    // 在templates下含有login包,而login包下有Login.html
}
// 这段代码中,返回的网页路径后不需要 .html 后缀
}
  • 方便页面获取后台数据,具体用法:(这里不上代码演示,望理解)

    1. 标签内部写法 th:属性名="${后台数据名}"

    2. 文本内部写法 [[${后台数据名}]]

    • 还能使用 th:each="元素名:${后台数据名}" 来获取集合,数组等等复杂类型中的元素
    • 还能在其中使用三目运算符: th:属性名="${后台数据名} ? #{结果1} : #{结果2}"
  • 方便页面进行跳转:

    1. form表单形式: 一般使用 th:action="请求地址"
    2. 其他标签内部: 一般使用 th:href="@{网址或者请求地址}"
  • 方便通过 id 来获取整个内容 (一般用于获取或抽离各个页面间的公共部分)

    • th:replace="(目标所在的网页名【无html后缀】:: #id )"
      • 直接替换整个内容(包括含有th:replace 的标签)
    • th:include="(目标所在的网页名【无html后缀】:: #id )"
      • 将内容全部放在标签内容(文本区域)里
    • th:insert="(目标所在的网页名【无html后缀】:: #id )"
      • 将内容放在标签内部

Thymeleaf 的其他内容

  • 属性优先级

image.png

总结

  • 请跳转上面的内容吧,我不想再写一遍了