第九章 Thymeleaf 模板引擎
官方下载地址
视频观看地址
https://www.bilibili.com/vide...
Thymeleaf:是使用java开发的模板技术,在服务器端运行。把处理后的数据发送给浏览器。
模板是作视图层工作的。显示数据的。Thymeleaf是基于Html语言。Thymleaf语法是应用在html标签中。SpringBoot框架集成Thymealeaf, 使用Thymeleaf代替jsp。
Thymeleaf 的官方网站:http://www.thymeleaf.org
Thymeleaf 官方手册:
https://www.thymeleaf.org/doc...
9.1 表达式
1.标准变量表达式
语法: ${key}
作用:获取key对于的文本数据,key 是request作用域中的key ,使用request.setAttribute(), model.addAttribute()
在页面中的 html标签中,使用 th:text="${key}"
标准变量表达式: ${key}
key不存在
获取SysUser对象 属性值
id
姓名
姓名:m男
年龄
获取姓名使用getXXX
2.选择变量表达式( 星号变量表达式)
语法: *{key}
作用: 获取这个key对应的数据, *{key}需要和th:object 这个属性一起使用。
目的是简单获取对象的属性值。
使用 *{} 获取SysUser的属性值
使用*{}完成的表示 对象的属性值
3.链接表达式
语法: @{url}
作用: 表示链接, 可以
9.7 字面量
例子:
文本字面量: 使用单引号括起来的字符串
数据显示
数字字面量
20大于 5
boolean字面量
用户已经登录系统
null字面量
有myuser数据
9.8 字符串连接
连接字符串有两种语法
1) 语法使用 单引号括起来字符串 , 使用 + 连接其他的 字符串或者表达式
数据显示
2)语法:使用双竖线, |字符串和表达式|
显示数据
例子:
字符串连接方式1:使用单引号括起来的字符串
数据显示
字符串连接方式2:|字符串和表达式|
9.9 运算符
算术运算: + , - - , * , / , %
关系比较 : > , < , >= , <= ( gt , lt , ge , le )
相等判断: == , != ( eq , ne )
使用运算符
年龄大于 10
显示运算结果
myuser是null
myuser是null
myuser不是null
三元运算符:
表达式 ? true的结果 : false的结果
三元运算符可以嵌套
9.10 内置对象
文档地址:https://www.thymeleaf.org/doc...
request 表示 HttpServletRequest
session 表示 HttpSession对象
session 表示Map对象的, 是#session的简单表示方式, 用来获取session中指定的key的值
session.getAttribute(“loginname”) == session.loginname
这些是内置对象,可以在模板文件中直接使用。
例子:
内置对象#request,#session,session的使用
获取作用域中的数据
使用内置对象的方法
getRequestURL=
getRequestURI=
getQueryString=
getContextPath=
getServerName=
getServerPort=
9.11 内置工具类
内置工具类型: Thymeleaf自己的一些类,提供对string, date ,集合的一些处理方法
dates: 处理日器的工具类
numbers:处理数字的
lists: 处理list集合的
日期类对象 #dates
内置工具类#numbers,操作数字的
内置工具类#strings,操作字符串
mystring 不是 空字符串
内置工具类#lists,操作list集合
有成员a
list 集合有多个成员
处理null
9.12 自定义模板
模板是内容复用, 定义一次,在其他的模板文件中多次使用。
模板使用:
1.定义模板
2.使用模板
模板定义语法:
th:fragment="模板自定义名称"
例如:
动力节点-java开发
www.bjpowernode.com
引用模板语法:
1) ~{templatename :: selector}
templatename: 文件名称
selector: 自定义模板名称
2)templatename :: selector
templatename: 文件名称
selector: 自定义模板名称
对于使用模板:有包含模板(th:include), 插入模板(th:insert)