Thymeleaf的基本语法总结
最近用Spring boot开发一些测试平台和工具,用到页面展示的部分,
选择的是thymeleaf模版引擎。
页面开发的7788快结束了,下面来总结下此过程中对thymeleaf的使用总结。
什么是Thymeleaf
Thymeleaf是一个Java库。它是一个XML / XHTML / HTML5模板引擎,能够在模板文件上应用一组转换,将程序产生的数据或者文本显示到模板文件上。
Thymeleaf依赖的jar包【如果你不是用Spring boot 项目中引用thymeleaf包,那你需要的jar包可能如下】
要使用Thymeleaf,需要在我们的web应用的classpath路径中引入相关的jar,如下:
thymeleaf-2.1.3.RELEASE.jar
ognl-3.0.6.jar
javassist-3.16.1-GA.jar
unbescape-1.0.jar
servlet-api-2.5.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
log4j-1.2.15.jar
mail-1.4.jar
activation-1.1.jar
那下面说说Spring boot+thymeleaf 怎么创建页面,向页面上传数据
使用thymeleaf只需要将文件放入目录 classpath:/tempaltes/ 文件后缀是.html
注意在以前的传统web项目中:静态资源修改后,是不需要重启的;但是Spring boot项目中,修改后要重启
用法介绍:
<p th:text="${welcome}" >welcome to my thymeleaf....</p>
以上,先从${welcome}中取值
th就是替换原来的html的值: th:html属性名=值;
th:xx 【参见第十章】 Attribute Pre
th:text 获取文本值 显示将hello渲染为h1后的值
th:utext 获取文本值(不转义) 显示<h1>hello</h1>
符号:
th:text="${welcome}" 除了$以外,其他符号?
一、th属性
常用th属性解读
html有的属性,Thymeleaf基本都有,而常用的属性大概有七八个。其中th属性执行的优先级从1~8,数字越低优先级越高。
一、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
常用th属性使用
使用Thymeleaf属性需要注意点以下五点:
一、若要使用Thymeleaf语法,首先要声明名称空间: xmlns:th="http://www.thymeleaf.org"
二、设置文本内容 th:text,设置input的值 th:value,循环输出 th:each,条件判断 th:if,插入代码块 th:insert,定义代码块 th:fragment,声明变量 th:object
三、th:each 的用法需要格外注意,打个比方:如果你要循环一个div中的p标签,则th:each属性必须放在p标签上。若你将th:each属性放在div上,则循环的是将整个div。
四、变量表达式中提供了很多的内置方法,该内置方法是用#开头,请不要与#{}消息表达式弄混。
五、th:insert,th:replace,th:include 三种插入代码块的效果相似,但区别很大。
thymeleaf 基本语法
标准表达式语法
1. 简单表达式 simple expressions
${...} 变量表达式 Variable Expressions
*{...} 选择变量表达式 Selection Variable Expressions
#{...} 消息表达式 Message Expressions
@{...} 链接url表达式 Link URL Expressions
~{...} 代码块表达式 Fragment Expressions
字面量
'one text','another text'...文本
0,1,3.0,12.45... 数值
true false 布尔类型
null 空
one,sometext,main 文本字符
文本操作
+ 字符串连接
|The name is ${name}| 字符串连接
算数运算
+ - * / % 二元运算符
- 负号 一元运算符
布尔操作
and or 二元操作符
! not 非 一元操作符
关系操作符
> < >= <= gt lt ge le
== != eq ne
条件判断
(if) ? (then) if-then
(if) ? (then):(else) if-then-else
Thymeleaf的基本语法总结的更多相关文章
- thymeleaf 内联语法
十二. thymeleaf内联语法 内联:th:inline,值有三种:text,javascript,none 12.1 th:inline="text"文本内联 <p t ...
- Thymeleaf 2-基础语法
三.基础语法 1.创建HTML 由上文也可以知道需要在html中添加: <html xmlns:th="http://www.thymeleaf.org"> 这样,下文 ...
- thymeleaf的具体语法
thymeleaf模板引擎是什么?请点击我查看 文章目录 thymeleaf模板引擎是什么?请点击我查看 代码 该实例代码延续[thymeleaf模板引擎](https://blog.csdn.net ...
- Thymeleaf 标准表达式语法
变量表达式${ } 在控制器中往页面传递几个变量: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 @Controller public class IndexController ...
- Thymeleaf模板引擎语法
th:text 用于显示值 th:object 接收后台传来的对象 th:action 提交表单 th:value 绑定值 th:field 绑定 ...
- Spring Boot整合Thymeleaf及Thymeleaf页面基本语法
引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- thymeleaf 基本语法
四.标准表达式语法 · 简单表达式 (simple expressions) ${...} 变量表达式 *{...} 选择变量表达式 #{...} 消息表达式 @{...} 链接url表达式 ...
- Thymeleaf系列五 迭代,if,switch语法
1. 概述 这里介绍thymeleaf的编程语法,本节主要包括如下内容 迭代语法:th:each; iteration status 条件语法:th:if; th:unless switch语法: ...
- thymeleaf 语法
一.语法: 1. 简单表达式 (simple expressions) ${...} 变量表达式 *{...} 选择变量表达式 #{...} 消息表达式 @{...} 链接url表达式 2.字 ...
随机推荐
- 实例,C# 导出.dbf格式文件
using System; using System.Collections using System.Configuration; using System.Data; using System. ...
- jumpserver堡垒机安装
1. 下载jumpserver cd /opt wget https://github.com/jumpserver/jumpserver/archive/master.zip unzip maste ...
- Oracle之表的相关操作
#添加字段 格式: alter table table_name add column_name datatype; 例子: alter table userinfo ); desc userinfo ...
- Eloquent JavaScript #03# functions
索引: let VS. var 定义函数的几种方式 more... 1.作者反复用的side effect side effect就是对世界造成的改变,例如说打印某些东西到屏幕,或者以某种方式改变机器 ...
- kswapd0 进程CPU占用过高
前几天遇到的一个问题,自己本地用VM配置的虚拟机,一般会top查看进程以及CPU占用的一些情况.又一次用laravel 打印对象,里面的内容比较多,浏览器当时就卡了. 然后看进程的情况.我以为会是ng ...
- 2、pandas的value_counts()和describe()
一.value_counts pandas 的value_counts()函数可以对Series里面的每个值进行计数并且排序. value_counts是计数,统计所有非零元素的个数,默认以降序的方式 ...
- 把源码放到服务器部署webservice调用出错 MVC C#
C# WebService在本地调用正常,同样的代码布睹到服务器上总是调用报如下错误 Server Error in '/' Application. The resource cannot be f ...
- thinkphp5 tp5 与 nginx 搭配在根目录和子目录中如何设置伪静态
配置文件参考一下: location /public/ { if (!-e $request_filename){ rewrite ^/public/(.*)$ /public/index.php?s ...
- 【Python028--引入文件】
一.打开文件 1.open()函数 打开模式 执行操作 ‘r’ 以只读方式打开文件(默认) ‘w’ 以写入的方式打开文件,会覆盖已存在的文件 ‘x’ 如果文件已经存在,使用此模式打开将引发异常 ...
- 一些常用的mysql语句实例-以后照写
create database blog; create table blog_user ( user_Name char(15) not null check(user_Name !=''), us ...