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">
&copy; 2011 The Good Thymes Virtual Grocery
</div>
使用th:insert 和~{...}引入片段
<div th:insert="~{footer :: copy}"></div>

使用id声明片段

<div id="copy-section" >
&copy; 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基础学习的更多相关文章

  1. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  2. 如何从零基础学习VR

    转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...

  3. IOS基础学习-2: UIButton

    IOS基础学习-2: UIButton   UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...

  4. HTML5零基础学习Web前端需要知道哪些?

    HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...

  5. python入门到精通[三]:基础学习(2)

    摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...

  6. python入门到精通[二]:基础学习(1)

    摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...

  7. CSS零基础学习笔记.

    酸菜记 之 CSS的零基础. 这篇是我自己从零基础学习CSS的笔记加理解总结归纳的,如有不对的地方,请留言指教, 学前了解: CSS中字母是不分大小写的; CSS文件可以使用在各种程序文件中(如:PH ...

  8. Yaf零基础学习总结5-Yaf类的自动加载

    Yaf零基础学习总结5-Yaf类的自动加载 框架的一个重要功能就是类的自动加载了,在第一个demo的时候我们就约定自己的项目的目录结构,框架就基于这个目录结构来自动加载需要的类文件. Yaf在自启动的 ...

  9. Yaf零基础学习总结4-Yaf的配置文件

    在上一节的hello yaf当中我们已经接触过了yaf的配置文件了, Yaf和用户共用一个配置空间, 也就是在Yaf_Application初始化时刻给出的配置文件中的配置. 作为区别, Yaf的配置 ...

  10. qml基础学习 Canvas画笔

    一.画布元素 自qt4.7发布qml以来,qml也在一直不断的完善中,在qt4时代使用qml时如果需要异形图,那我们只能让设计师来切图,这样的感觉是很不爽的,总感觉开发没有那么犀利.但是到了qt5这一 ...

随机推荐

  1. maven静态资源过滤

    <resources> <resource> <directory>src/main/java</directory> <includes> ...

  2. [Oracle19C 数据库管理] 管理回滚表空间(UNDO Tablespace)

    当对数据进行修改时,Oracle数据库会将旧的数据存储到UNDO表空间(回滚表空间).回滚表空间让用户可以rollback到修改前的数据,提供了读一致性,并支持闪回查询过去的数据.Undo也用来在Tr ...

  3. PyQt5弹框定时关闭(python)

    PyQt5使用QMessageBox,可以设置在几秒后关闭  (作者使用的python3) info_box = QMessageBox()# 因为没使用这种方式 QMessageBox.inform ...

  4. Jupyter Notebook安装代码提示功能

    默认Jupyter Notebook没有安装代码提示功能,但是我们可以可通过如下命令安装和配置使得Jupyter Notebook具备代码提供功能. (确保Anaconda在环境变量里)1.电脑上搜索 ...

  5. HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP 和 ASP.NET

    https://www.runoob.com/tags/html-reference.html 在线版,从基础的 HTML 到 CSS,乃至进阶的 XML.SQL.JS.PHP 和 ASP.NET. ...

  6. 通过if 简单判断奇数偶数

    方法一 方法二 方法三 通过取反的方式进行 其实这三个方法都差别不大都可以用

  7. vite vue插件打包配置

    import { defineConfig, UserConfigExport, ConfigEnv } from "vite"; import externalGlobals f ...

  8. chrome浏览器启用es6语法支持,初次体验浏览器端模块化加载

    医院项目,记录下,花了一个晚上的时间. 注意:最新版本的chrome浏览器已支持module语法,需要在web服务器环境下运行! 注:chrome76版本及以上不再需要设置了,浏览器已默认支持,至于从 ...

  9. Mysql数据库基础第二章:(五)分组查询

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  10. pycharm 默认添加# -*-coding: utf-8 -*-

    备忘 pycharm创建py文件时,默认输入表头信息 1.点击[File]-[Settins] 2.点击[Editor]-[File and Code Templates] 3.点击[Python S ...