thymeleaf模板引擎
依赖引入
<!--thymeleaf模板-->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>
相关地址
表达式使用
th的常用属性值
一、th:text :设置当前元素的文本内容,相同功能的还有th:utext,两者的区别在于前者不会转义html标签,后者会。优先级不高:order=7
二、th:value:设置当前元素的value值,类似修改指定属性的还有th:src,th:href。优先级不高:order=6
三、th:each:遍历循环元素,和th:text或th:value一起使用。注意该属性修饰的标签位置,详细往后看。优先级很高:order=2
四、th:if:条件判断,类似的还有th:unless,th:switch,th:case。优先级较高:order=3
五、th:insert:代码块引入,类似的还有th:replace,th:include,三者的区别较大,若使用不恰当会破坏html结构,常用于公共代码块提取的场景。优先级最高:order=1
六、th:fragment:定义代码块,方便被th:insert引用。优先级最低:order=8
七、th:object:声明变量,一般和*{}一起配合使用,达到偷懒的效果。优先级一般:order=4
八、th:attr:修改任意属性,实际开发中用的较少,因为有丰富的其他th属性帮忙,类似的还有th:attrappend,th:attrprepend。优先级一般:order=5
标准表达式语法
${…} 变量表达式,Variable Expressions
*{…} 选择变量表达式,Selection Variable Expressions
@{…} 链接表达式,Link URL Expressions
#{…} 消息表达式,Message Expressions (一般用于国际化)
~{…} 代码块表达式,Fragment Expressions
一、对象的属性和方法
可以获取对象的属性和方法
二、内置对象
可以使用ctx,vars,locale,request,response,session,servletContext内置对象
session.setAttribute("user","zhangsan");
th:text="${session.user}"
三、内置方法
可以使用dates,numbers,strings,objects,arrays,lists,sets,maps等内置方法
一、strings:字符串格式化方法,常用的Java方法它都有。比如:equals,equalsIgnoreCase,length,trim,toUpperCase,toLowerCase,indexOf,substring,replace,startsWith,endsWith,contains,containsIgnoreCase等
二、numbers:数值格式化方法,常用的方法有:formatDecimal等
三、bools:布尔方法,常用的方法有:isTrue,isFalse等
四、arrays:数组方法,常用的方法有:toArray,length,isEmpty,contains,containsAll等
五、lists,sets:集合方法,常用的方法有:toList,size,isEmpty,contains,containsAll,sort等
六、maps:对象方法,常用的方法有:size,isEmpty,containsKey,containsValue等
七、dates:日期方法,常用的方法有:format,year,month,hour,createNow等
演示代码
导入项目运行之后输入
http://127.0.0.1:8080/thymeleafIndex.html
SpringBoot学习之路
代码下载
地址 https://gitee.com/zhang798/spring-demo.git
分支 thymeleaf
命令 git clone https://gitee.com/zhang798/spring-demo.git -b thymeleaf