什么是Thymeleaf

Thymeleaf是一款用于渲染XML、XHTML、HTML5内容的模板引擎。类似Velocity,FreeMaker模板引擎,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。

Thymeleaf也是Spring Boot首要支持的模板引擎,并且在最新的Spring Boot版本中已经不再支持Velocity了。

官网:http://www.thymeleaf.org/

引入依赖

需要引入Spring Boot的Thymeleaf启动器依赖。

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

引入该依赖后会自动引入web依赖,不需要再单独引入web依赖。

自动配置说明

下面是Thymeleaf的自动配置相关类。

Thymeleaf的自动配置类:

org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration

Thymeleaf的自动配置参数类:

org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties

查看参数源码:

private static final Charset DEFAULT_ENCODING = Charset.forName("UTF-8");

private static final MimeType DEFAULT_CONTENT_TYPE = MimeType.valueOf("text/html");

public static final String DEFAULT_PREFIX = "classpath:/templates/";

public static final String DEFAULT_SUFFIX = ".html";

默认的编码是:UTF-8

默认的类型是:text/html

默认的模板文件目录是:classpath:/templates/

默认的模板文件后缀是:.html

这些参数都可以通过在application配置文件中指定spring.thymeleaf.xx进行更改,更多可参考该参数类。

实战

知道了自动配置的原理,所以我们可以知道怎么做了。

一、在resources目录下创建templates目录。

二、在templates目录下创建.html模板文件。

三、使用模板:

1、模板文件头部使用<html xmlns:th="http://www.thymeleaf.org">定义。

2、html标签上使用th:开头标识作为前缀。

3、通过@{}引入web静态文件。

<link rel="stylesheet" th:href="@{/css/jquery.min.css}"/>

4、访问数据

访问springmvc中的model数据:${user.name},访问更多不同对象的数据请点击参考官方定义。

推荐阅读

干货:免费领取2TB架构师四阶段视频教程

面经:史上最全Java多线程面试题及答案

工具:推荐一款在线创作流程图、思维导图软件

分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。

最新文章

  1. Gym 101102J---Divisible Numbers(反推技巧题)
  2. Oracle数据库更新时间的SQL语句
  3. 缓存插件 Spring支持EHCache缓存
  4. codeforces B.Fence 解题报告
  5. C#开源框架(整理)
  6. Jexus 高并发请求的优化技巧 笔记
  7. Protected Member Access
  8. VM启动报错:Failed to lock the file
  9. 杠杠做的全屏随鼠标滚动显示图片,类似于PPT效果
  10. 一次非典型的SQL报错
  11. PySide——Python图形化界面
  12. Spring详解(三)------DI依赖注入
  13. 201521123039 《java程序设计》第十一周学习总结
  14. Element-ui Theme浅析
  15. python mysql 单表查询 多表查询
  16. nginx配置打印请求响应内容
  17. k8s 官方 配置文件使用教程
  18. git中提交了想要忽略的文件,如何在删除
  19. javascript隐式原型
  20. Python学习笔记(二)——数据类型

热门文章

  1. Jlink 接口定义
  2. Tomcat启动脚本(1)startup.bat
  3. mybatis自学历程(一)
  4. display的inline-block替代float的一些场景
  5. Apache Solr远程命令执行
  6. JAVA学习,边学习边总结边记录
  7. Codeforces542E Playing on Graph 思维+DFS+BFS
  8. MySQL关闭查询缓存(QC)的两种方法
  9. HTTP/2的优先级
  10. TCP协议解析及相关问题