Spring Boot整合Thymeleaf模板引擎
什么是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、模板文件头部使用 <htmlxmlns:th="http://www.thymeleaf.org">
定义。
2、html标签上使用 th:
开头标识作为前缀。
3、通过 @{}
引入web静态文件。
<link rel="stylesheet" th:href="@{/css/jquery.min.css}"/>
4、访问数据
访问springmvc中的model数据: ${user.name}
,访问更多不同对象的数据请点击参考官方定义。
- Android Binder漏洞挖掘技术与案例分享
- Stanford机器学习笔记-5.神经网络Neural Networks (part two)
- 监控平台前端SDK开发实践
- 一步步实现静态页面布局
- Stanford机器学习笔记-3.Bayesian statistics and Regularization
- 在R中使用支持向量机(SVM)进行数据挖掘
- 【你问我答】你与Java大牛的距离,只差这24个问题
- Android漏洞扫描工具Code Arbiter
- Huawei HG532 系列路由器远程命令执行漏洞分析
- postMessage与postMessage跨域
- 【手把手教你做项目】自然语言处理:单词抽取/统计
- D-Link系列路由器漏洞挖掘入门
- 大家一直在谈的领域驱动设计(DDD),我们在互联网业务系统是这么实践的
- 在Atom中设置Python开发环境
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 数据结构:用实例分析ArrayList与LinkedList的读写性能
- vue-element-admin上传图片的功能
- Oracle数据误删恢复
- 用斗地主的实例学会使用java Collections工具类
- Command PhaseScriptExecution failed with a nonzero exit code问题解决
- Effective Java中构建器Builder的理解
- Java的位运算符详解实例。
- 用一个测试类简化排序算法时间复杂度的研究
- R语言之可视化(33)绘制差异基因分析统计图
- Java transient不被持久化的原因
- 举一个有趣的例子,让你轻松搞懂JVM内存管理
- gulp的使用
- SpringBoot中 使用[info]日志级别打印mybatis sql语句
- Spring Boot 使用策略模式指定Service实现类
- 55. Vue webpack的基本使用