性能不高,高并发应使用前后段分离
代码自动提示需要thymeleaf插件
基本语法
表达式名字 | 语法 | 用途 |
---|---|---|
变量取值 | ${…} | 获取请求域,session域,对象等值,可以使用+拼接字符串或者用|包裹整个表达式 |
选择变量 | *{…} | 获取上下文对象值 |
消息 | #{…} | 获取国际化等值 |
链接 | @{…} | 生成链接 |
片段表达式 | ~{…} | 引入公共页面片段 |
设置属性值
th:attr=表达式
th:value=表达式
th:要修改的属性名
使用
- 引入starer
- springboot自动配置
- 开发页面
自动配置了SpringTemplateEngine(模板引擎)和ThymeleafViewResolber(视图解析器)
默认文件存放路径在类路径下的/templates/
默认后缀为.html
使用时需要命名空间避免页面报错,没有命名空间也能正常运行
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
见html标签的xmlns属性
行内写法
[[${...}]]
用于直接显示值
片段引用
th:fragment=""
用于命名片段(也可使用id)
使用
th:replace 替换掉当前标签
th:include 将原标签内部的内容放入
th:insert 插入到标签内部
常用属性
th:text | 文本的显示,其值会替换html中指定标签的值 |
---|---|
th:utext | 支持heml的文本显示 |
th:value | 给属性赋值 |
th:object | 用于设置选定对象 |
th:if | 条件判断,可以和th:unless配合使用 |
th:switch | 选择判断,需要配合th:case使用 |
th:each | 循环迭代 |
th:href | 设置链接地址,需要用@{} |
th:each属性状态变量iterStat包含以下数据
- index属性,当前迭代索引,从0开始
- count属性,当前迭代索引,从1开始
- size属性,迭代变量中的元素总数
- current属性,每次迭代的iter变量
- even/odd布尔属性,当前迭代是偶数还是奇数
- first属性,是否是第一个,布尔值
- last属性,是否是最后一个,布尔值
配置
可在Springboot的配置文件中配置前缀(文件路径)和后缀,有默认值
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html