Thymeleaf
Thymeleaf知识点
介绍:Thymeleaf是springboot官方推荐的前端框架,
但是目前使用比较多的是:VUE
-
添加依赖
org.springframework.boot
spring-boot-starter-thymeleaf
2.4.5
-
修改html的标签
<html xmlns:th="http://www.thymeleaf.org" > -
向标签中添加数据
th:text <!--向span双标签内部添加文本,这一句的意思是,把pageMessage放到span标签的test里面去--> <span th:text="pageMessage"></span> <br/> <!--从域中根据参数名取出参数值放在双标签中--> <span th:text="${msg}"></span> <br/> th:value <!--向input标签中的value属性赋值--> <input type="text" th:value="pageMessage"/> <!--从域中根据参数名取出参数值 向input标签中的value属性赋值--> <input type="text" th:value="${msg}"/> th:if <span th:if="${name}!='张三'">会显示</span> th:each th:each="u,i :${list}" 其中i表示迭代状态。 1,index:当前迭代器的索引 从0开始 2,count:当前迭代对象的计数 从1开始 3,size:被迭代对象的长度 4,even/odd:布尔值,当前循环是否是偶数/奇数 从0开始 5,first:布尔值,当前循环的是否是第一条,如果是返回true否则返回false 6,last:布尔值,当前循环的是否是最后一条,如果是则返回true否则返回false th:href <a th:href="@{/getParam(name=${stu.name},age=${stu.age})}">跳转二</a> th:onclick <a href="javascript:void(0)" th:onclick="delEmp([[${emp.empno}]],[[${emp.ename}]])">删除</a> -
java中的动态页面中的各种数据插入到html中,thymeleaf的获取方式。
list: @RequestMapping("/showEmp") public String showEmp(Map<String, Object> map) { List<Emp> empList = empService.findAll(); map.put("empList", empList); map.put("emp", empList.get(0)); return "showEmp"; } 模板代码: 单个数据的获取: <span th:if="${empList}!=null"> <span th:if="${empList.size()} ne 0"> 工号:<span th:text="${empList[0].empno}"></span><br/> 姓名:<span th:text="${empList[0].ename}"></span><br/> 职务:<span th:text="${empList[0].job}"></span><br/> 上级:<span th:text="${empList[0].mgr}"></span><br/> 入职日期:<span th:text="${empList[0].hiredate}"></span><br/> 工资:<span th:text="${empList[0].sal}"></span><br/> 补助:<span th:text="${empList[0].comm}"></span><br/> 部门号:<span th:text="${empList[0].deptno}"></span><br/> </span> </span> list数据的获取: <tr th:each="emp,i:${empList}"> <td th:text="${i.index}"></td> <td th:text="${i.count}"></td> <td th:text="${i.size}"></td> <td th:text="${i.odd}"></td> <td th:text="${i.even}"></td> <td th:text="${i.first}"></td> <td th:text="${i.last}"></td> <td th:text="${emp.empno}"></td> <td th:text="${emp.ename}"></td> <td th:text="${emp.job}"></td> <td th:text="${emp.mgr}"></td> <td th:text="${emp.hiredate}"></td> <td th:text="${emp.sal}"></td> <td th:text="${emp.comm}"></td> <td th:text="${emp.deptno}"></td> </tr> -
标准变量表达式中支持运算符
算术运算符: <span th:text="1+1"></span> 2 <span th:text="'1'+1"></span> 11 <span th:text="${emp.empno}+1"></span> 数据结果 <span th:text="${emp.empno+1}"></span> 同上 关系运算符: gt: great than(大于)> ge: great equal(大于等于)>= eq: equal(等于)== lt: less than(小于)< le: less equal(小于等于)<= ne: not equal(不等于)!= 逻辑运算符: && 或 and: 表示并且 || 或 or : 表示或者 -
内置对象Thymeleaf提供了一些内置对象,内置对象可直接在模板中使用。这些对象是以#引用的。
使用内置对象的语法- 引用内置对象需要使用#
- 大部分内置对象的名称都以s结尾。如:strings、numbers、dates
- 常见内置对象如下
arrays:数组操作的工具;
aggregates:操作数组或集合的工具;
bools:判断boolean类型的工具;
calendars:类似于#dates,但是是java.util.Calendar类的方法;
ctx:上下文对象,可以从中获取所有的thymeleaf内置对象;
dates:日期格式化内置对象,具体方法可以参照java.util.Date;
numbers: 数字格式化;#strings:字符串格式化,具体方法可以参照String,如startsWith、contains等;
objects:参照java.lang.Object;
lists:列表操作的工具,参照java.util.List;
sets:Set操作工具,参照java.util.Set;#maps:Map操作工具,参照java.util.Map;
messages:操作消息的工具。
浙公网安备 33010602011771号