springboot整合thymeleaf

简介: springboot整合thymeleaf

springboot整合thymeleaf

1. 导入起步依赖

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

2. 更改引入版本

<properties>
    <springboot-thymeleaf.version>3.0.2.RELEASE</springboot-thymeleaf.version>
    <thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
</properties>

springboot自带的thymeleaf依赖为2.1.3版本,使用thymeleaf-layout-dialect版本为2以下版本。

使用3或3以上的thymeleaf时,需要thymeleaf-layout-dialect的版本为2或以上。

锁定thymeleaf版本时不能使用thymeleaf.version标签,会和springboot内部的依赖标签冲突。应当使用springboot-thymeleaf.version标签来锁定版本。

3. 配置文件配置

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.check-template-location=true
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.mode=HTML
spring.thymeleaf.cache=false


spring.thymeleaf.cache为缓存,需要热部署时,需要设置为false


语法

1. 替换标签体内容

<!--渲染效果-->
<div  th:text="${Hello}">显示欢迎</div>
<!--不渲染效果-->
<div  th:utext="${Hello}">显示欢迎</div>

2. 替换属性

<div id="div01" th:id="${Hello}" th:class="${Hello}" th:text="${Hello}">显示欢迎</div>
<div style="background-color: yellow" th:style="'background-color:green'"></div>

3. 在表达式中访问属性域

<h3>访问属性域</h3>
<p th:text="${attrRequestScope}">访问请求域 方式一</p>  <br>
<p th:text="${#httpServletRequest.getAttribute('attrRequestScope')}">访问请求域 方式二</p><br/>
<h3>访问Session域</h3>
<p th:text="${session.atttrSessionScope}">访Session域 方式一</p><br/>
<p th:text="${application.attrAppSocpe}">访问Application域 方式一</p>

4. 解析url地址

<h3>解析URL地址,获取ContextPath的值</h3>
<p th:text="@{/success}">@{}是把ContextPath的值附加到指定的地址前</p>
<a th:href="@{/test}">@{}是把ContextPath的值附加到指定的地址前</a>

5. 直接执行表达式

<h3>直接执行表达式</h3>
<p>无转义效果 : [[${attrRequestScope}]] </p>
<p>有转义效果 : [(${attrRequestScope})] </p>

6. 分支与迭代

1. if 判断

<h3>if判断字符串是否为空</h3>
<p th:if="${not #strings.isEmpty(attrRequestScope)}">attrRequestScope不为空显示</p>
~~~<p th:if="${#strings.isEmpty(attrRequestScope)}">attrRequestScope为空显示</p>~~~~

2. 测试循环

<h3>测试循环</h3>
<div>
    <p th:text="${str}" th:each="str :${list}"></p>
</div>

使用th:each进行集合数据迭代

th:each=“声明变量:${集合}”

th:each 用在哪个标签上,哪个标签就会出现多次

7. 引入外部代码

要被引入的代码 include/part.html

<html xmlns:th="http://www.thymeleaf.org">
<div th:fragment="myFirstPart">
<p>
    被包含的内容1111
</p>
</div>
<div th:fragment="mySecondPart">
    <p>
        被包含的内容2222
    </p>
</div>
<div th:fragment="myThirdPart">
    <p>
        被包含的内容3333
    </p>
</div>

需要引入的页面

<div th:insert="~{include/part :: myFirstPart }"></div>
<div th:replace="~{include/part :: mySecondPart }" style="background-color: yellow"></div>
<div th:include="~{include/part ::myThirdPart }" style="background-color: red"></div>

渲染后的页面源码

<div>
    <div>
        <p>
            被包含的内容1111
        </p>
    </div>
</div>
<div>
    <p>
        被包含的内容2222
    </p>
</div>
<div style="background-color: red">
    <p>
        被包含的内容3333
    </p>
</div>

" :: "左边的值拼前后缀后必须能够找到要包含的文件。

" :: " 右边的值是代码片段的名字 ,就是th:fragment的值。

insert将代码原样引入。

replace使用被引入的代码和属性替换原有的。

include使用被引入的代码div内部的代码。


相关文章
|
数据采集 SQL 分布式计算
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
4046 0
|
9月前
|
存储 SQL 运维
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
小米早在 2019 年便引入 Apache Doris 作为 OLAP 分析型数据库之一,经过五年的技术沉淀,已形成以 Doris 为核心的分析体系,并基于 2.1 版本异步物化视图、3.0 版本湖仓一体与存算分离等核心能力优化数据架构。本文将详细介绍小米数据中台基于 Apache Doris 3.0 的查询链路优化、性能提升、资源管理、自动化运维、可观测等一系列应用实践。
476 3
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
|
10月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
60851 11
|
11月前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
JavaScript Unix Linux
nvm与node.js的安装指南
通过以上步骤,你可以在各种操作系统上成功安装NVM和Node.js,从而在不同的项目中灵活切换Node.js版本。这种灵活性对于管理不同项目的环境依赖而言是非常重要的。
3988 11
|
存储 Java 索引
说一说浅析 HashMap 原理
我是小假 期待与你的下一次相遇 ~
351 2
说一说浅析 HashMap 原理
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
824 5
|
存储 算法 安全
HashMap常见面试题(超全面):实现原理、扩容机制、链表何时升级为红黑树、死循环
HashMap常见面试题:红黑树、散列表,HashMap实现原理、扩容机制,HashMap的jd1.7与jdk1.8有什么区别,寻址算法、链表何时升级为红黑树、死循环
|
存储 监控 测试技术
三大工作流引擎技术Activiti、Camunda、Flowable选型指南
三大工作流引擎技术Activiti、Camunda、Flowable选型指南
|
分布式计算 Hadoop 容器
Hadoop组件版本不兼容
【5月更文挑战第7天】Hadoop组件版本不兼容
586 3

热门文章

最新文章