SpringBoot整合模板引擎Thymeleaf
1,什么是Thymeleaf?
Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎相较与其他的模板引擎,它有一个最大的特点是:
Thymeleaf,它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。
这是由于它支持 html 原型,然后通过在html 标签里增加额外的属性来达到模板+数据的展示的效果
比如:
<a th:text="${url}">百度</a>
浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;
当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。
2,引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
3,开发阶段设置不要缓存
spring:
thymeleaf:
cache: false
4,创建模板文件
文件存放的位置:resource目录下创建templates目录
创建文件,<html xmlns:th="http://www.thymeleaf.org">
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8"></meta>
<title>Insert title here</title>
</head>
<body>
Hello Spring Boot!!!!
</body>
</html>
5,常见的各种标签及配置
- 后台程序,依然通过model来保存值即可
- 前端页面,引入标签声明:<html xmlns:th="http://www.thymeleaf.org">
5.1字符串
欢迎:<span th:text="${username}"></span><br/>
欢迎:<span th:text="超级VIP+${username}"></span><br/>
欢迎:<span th:text="|超级VIP,${username}|"></span><br/>
5.2条件判断
条件不为真,则显示
- <span th:unless="${age>18}" th:text="未超过18岁"></span>
条件为真,则显示所处的年龄段
- <span th:if="${age > 33}">老腊肉</span>
- <span th:if="${age <= 18}">小鲜肉</span>
三元运算符
- <span th:text="${age>18 ? '长大了':'未成年'}"></span>
5.3循环 th:each="stu : ${stus}"
<table>
<tr>
<td>id</td>
<td>姓名</td>
</tr>
<tr th:each="stu : ${stus}">
<td th:text="${stu.id}">id</td>
<td th:text="${stu.name}">姓名</td>
</tr>
</table>
5.4日期格式化
<input th:value="${#dates.format(now,'yyyy-MM-dd HH:mm:ss')}"/>
6,解决编辑页面红色警告的问题
解决:File -> Settings -> Editor -> Inspections找到Thmeleaf,将后边的√取消选中就可以了