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