thymeleaf基础学习
Thymeleaf
1.标准表达式
${...}:变量表达式*{...}: 选择表达式#{...}: 消息表达式@{...}: 连接表达式
<img th:src="@{url}">
~{...}: 片段表达式
2.基础语法
文本标签 th:text/th:utext
1.th:text 进行文本替换 不会解析html
2. th:utext 进行文本替换 会解析html
th:object 获取后台传过来的对象,结合th:text来使用
<span th:object="${user}">
<p th:text="*{name}"></p>
<p th:text="*{age}"></p>
</span>
条件判断 th:if/th:/unless
<p th:if="${falg}">if判断</p>
<p th:unless="!${falg}">unless判断</p>
th:swith
<div th:switch="${user.name}">
<P th:case=" ' ' ">xxx</P>
<P th:case=" ' ' ">xx</P>
</div>
for循坏 th:each遍历集合
<tr th:each="user : ${userList}" th:class="${userStat.odd}? 'odd'">
<td th:text="${user.name}">Onions</td>
<td th:text="${user.age}">2.41</td>
</tr>
th:href 用于声明在a标签上的href属性
<a href="../home.html" th:href="@{/}">xxx</a>
th:class 用于声明在标签上属性class
<p th:class="'even' ? 'even' : 'odd'"></p>
th:addr 用于声明html中或自定义属性
<img th:addr="src=@{/images}" />
th:value 用于声明html中value属性信息
<input type="text" th:value="${name}" />
th:action 用于html form标签中action属性
<form th:action="@{/url}">
</form>
th:id 用于html id属性
<p th:id="${id}"></p>
th:onclick 用于html中的onclick事件
<p onclick="showUserInfo()">点我</p>
th:selected 用于selected属性
<select>
<option name="sex"></option>
<option th:selected="1 == ${sex}">男</option>
<option th:selected="0 == ${sex}">女</option>
</select>
th:src 用于img 中 src属性
<img th:src="@{/images}"/>
th:style 用于声明html中的css
<p th:style="'display:' + @{(${isShow} ? 'none' : 'block')} + ''"></p>
th:with 用于thymeleaf中局部变量定义的使用
<p th:with="df='dd/MMM/yyyy HH:mm'">
Today is: <span th:text="${#dates.format(today,df)}">13 February 2011</span>
</p>
Elvis运算符
? 二目运算符 a?b a为true显示a
表达式 ? a : b 三元表达式 表达式为真显示a,否则b*
条件表达式操作字符
gt:great than(大于)
ge:great equal(大于等于)
eq:equal(等于)
lt:less than(小于)
le:less equal(小于等于)
ne:not equal(不等于)
th:inline = "text" 开启内联操作
<div th:inline="text">
<p>Hello, [[${user.name}]]!</p>
</div>
th:inline="none" 禁用内联的操作
<p th:inline="none">A double array looks like this: [[1, 2, 3], [4, 5]]!</p>
模板布局
定义引用片段代码
使用th:fragment 定义引用片段
<div th:fragment="copy">
© 2011 The Good Thymes Virtual Grocery
</div>
使用th:insert 和~{...}引入片段
<div th:insert="~{footer :: copy}"></div>
使用id声明片段
<div id="copy-section" >
© 2011 The Good Thymes Virtual Grocery
</div>
引用片段
<div th:insert="~{footer :: #copy-section}"></div>
th:insert和th:replace(和th:include)之间的区别
- th:insert 是最简单的:他会将使用th:insert的标签 和引用片段的内容都显示出来
- th:replace 插入引用片段的标签和内容
- th:include类似于th:insert,只插入此片段的内容
th:remove 删除模板片段
thymeleaf基础学习的更多相关文章
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- IOS基础学习-2: UIButton
IOS基础学习-2: UIButton UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...
- HTML5零基础学习Web前端需要知道哪些?
HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...
- python入门到精通[三]:基础学习(2)
摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...
- python入门到精通[二]:基础学习(1)
摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...
- CSS零基础学习笔记.
酸菜记 之 CSS的零基础. 这篇是我自己从零基础学习CSS的笔记加理解总结归纳的,如有不对的地方,请留言指教, 学前了解: CSS中字母是不分大小写的; CSS文件可以使用在各种程序文件中(如:PH ...
- Yaf零基础学习总结5-Yaf类的自动加载
Yaf零基础学习总结5-Yaf类的自动加载 框架的一个重要功能就是类的自动加载了,在第一个demo的时候我们就约定自己的项目的目录结构,框架就基于这个目录结构来自动加载需要的类文件. Yaf在自启动的 ...
- Yaf零基础学习总结4-Yaf的配置文件
在上一节的hello yaf当中我们已经接触过了yaf的配置文件了, Yaf和用户共用一个配置空间, 也就是在Yaf_Application初始化时刻给出的配置文件中的配置. 作为区别, Yaf的配置 ...
- qml基础学习 Canvas画笔
一.画布元素 自qt4.7发布qml以来,qml也在一直不断的完善中,在qt4时代使用qml时如果需要异形图,那我们只能让设计师来切图,这样的感觉是很不爽的,总感觉开发没有那么犀利.但是到了qt5这一 ...
随机推荐
- CAN通讯模板
#define MyCAN_SJW CAN_SJW_3tq#define MyCAN_BS1 CAN_BS1_5tq#define MyCAN_BS2 CAN_BS2_3tq#define MyCAN ...
- SQLSERVER自动备份数据库
1. 通过操作系统的定时任务执行 创建两个文件,auto.bat和auto.sql,使用bat调用sql文件中的代码段 auto.bat内容 sqlcmd -S localhost,2433 -U s ...
- COOP/COHP(上)-PROOUT
晶体轨道重叠布居 COOP(crystal orbital overlap population)的一个更为直观的名称是 重叠布居权重的态密度 (overlap population-weighted ...
- 官网jdk8,jdk11下载时需要登录Oracle账号的问题解决
当到这一步骤时先勾选同意,在这个下载按钮上点鼠标右键复制链接地址 文件的下载地址 我们需要把地址做些修改.把等号前面的地址删掉,然后找到等号后面地址中的otn后面加上-pub 然后把这个地址直接复制到 ...
- es 部署 进程、文件数 配置
1. /etc/security/limits.conf elasticsearch soft nofile 65536 elasticsearch hard nofile 65536 elasti ...
- Django Rest Frame work 如何使用serializers序列化函数新手教程
Django Rest Frame work 如何使用serializers序列化 Django Rest Framework提供了serializers模块,用于序列化和反序列化模型实例 ...
- 吴恩达老师机器学习课程chapter08——降维
吴恩达老师机器学习课程chapter08--降维 本文是非计算机专业新手的自学笔记,高手勿喷. 本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十四章. 本章节只有结论,没有任 ...
- XJTUOJ #1323. [L2-2]三倍满世界
题目 https://oj.xjtuicpc.com/problem/1323 思路 题目说明有点绕. 然后我们仔细观察一下,这个东西很显然是一个天然的树形结构. 我们可以把一个空间(或者一个数)当成 ...
- Word02 领慧讲堂就业讲座office真题
1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...
- python的global用法
在python中,我们在函数外定义了一个变量,如果我们想在函数内对这个变量进行操作,就需要在函数内部将这个变量声明为global. 例1 x = 1 def func(): x = 2 func() ...