thymeleaf 的使用
thymeleaf 语法详解
1.变量输出:
th:text :在页面中输出某个值
th:value :将一个值放到input标签中的value中。
2.判断字符串是否为空
①:调用内置对象一定要用#
②:大部分的内置对象都已s结尾(strings,numbers,dates)
${#strings.isEmpty(msg)}:判断字符串是否为空,如果为空返回true 否则返回false
${#strings.contains(msg,'T')} :判断字符串是否包含指定的子串,如果包含返回 true,否则返回 false
${#strings.startsWith(msg,'a')}:判断当前字符串是否以子串开头,如果是返回 true,否则返回 false
${#strings.endsWith(msg,'a')}:判断当前字符串是否以子串结尾,如果是返回 true,否则返回 false
${#strings.length(msg)}:返回字符串的长度
${#strings.indexOf(msg,'h')}:查找子串的位置,并返回该子串的下标,如果没找到则返回-1
${#strings.substring(msg,13)}:截取子串,用户与 jdk String 类下 SubString 方法相同
${#strings.substring(msg,13,15)}:截取子串,用户与 jdk String 类下 SubString 方法相同
${#strings.toUpperCase(msg)}:字符串转大小写。
${#strings.toLowerCase(msg)}:字符串转大小写。
3.日期格式化处理
${#dates.format(key)}:格式化日期,默认的以浏览器默认语言为格式化标准
${#dates.format(key,'yyy/MM/dd')}:按照自定义的格式做日期转换
${#dates.year(key)}:year:取年
${#dates.month(key)}:Month:取月
${#dates.day(key)}:Day:取日
4.条件判断
①:th:if
<span th:if="${sex} == '男'"> 性别:男 </span>
<span th:if="${sex} == '女'"> 性别:女 </span>
②:th:switch
<div th:switch = "${id}" >
<span th:case = "1">1</span>
<span th:case = "2">2</span>
<span th:case = "3">3</span>
</div>
5.迭代遍历(对集合的遍历)
①:th:each
<table border="1">
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
<tr th:each="u : ${list}">
<td th:text="${u.userid}"></td>
<td th:text="${u.username}"></td>
<td th:text="${u.userage}"></td>
</tr>
</table>
②:th:each 状态变量
1.index 当前迭代器的索引,从0开始
2.count 当前迭代对象的计数,从1开始
3.size 被迭代对象的长度
4.even/odd:布尔值,当前循环是否是偶数/奇数 从 0 开始
5.first:布尔值,当前循环的是否是第一条,如果是返回 true 否则返回 false
6.last:布尔值,当前循环的是否是最后一条,如果是则返回 true 否则返回 false
③.th:each 迭代Map
<table border="1">
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
<tr th:each="maps : ${map}">
<td th:each="entry:${maps}" th:text="${entry.value.userid}" ></td>
<td th:each="entry:${maps}" th:text="${entry.value.username}"></td>
<td th:each="entry:${maps}" th:text="${entry.value.userage}"></td>
</tr>
</table>
6.域对象操作
1.httpServletRequest
7.URL表达式
th:herf
th: src
①:url表达式语法
@{} 基本语法构成
②:URL类型
1.绝对路径
<a th:href="@{http://www.baidu.com}" >绝对路径1</a>
2.相对路径
一、相对于当前项目的根(相对于项目的上下文的相对路径)
<a th:href="@{show}">相对路径</a>
二、相对于服务器路径的根
<a th:href="@{~/project/recousename}">相对服务器的根路径</a>
③:在URL中实现参数的传递
1.<a th:href="@{show(id=1,name=wj)}">传参</a>
④:在url中通过restful方式进行参数的传递
1.<a th:href="@{show/{id}/(id=1,name=wj)}">传参-restful</a>
thymeleaf 的使用的更多相关文章
- spring boot(四):thymeleaf使用详解
在上篇文章springboot(二):web综合开发中简单介绍了一下thymeleaf,这篇文章将更加全面详细的介绍thymeleaf的使用.thymeleaf 是新一代的模板引擎,在spring4. ...
- Thymeleaf
1.在html顶部添加 <html xmlns:th="http://www.thymeleaf.org"> 2.url表达式 @{...} <link rel= ...
- Thymeleaf 模板的使用
Thymeleaf是现代化服务器端的Java模板引擎,不同与JSP和FreeMarker,Thymeleaf的语法更加接近HTML,并且也有不错的扩展性.详细资料可以浏览官网.本文主要介绍Thymel ...
- vert.x学习(三),Web开发之Thymeleaf模板的使用
在vert.x中使用Thymeleaf模板,需要引入vertx-web-templ-thymeleaf依赖.pom.xml文件如下 <?xml version="1.0" e ...
- 页面上使用 Thymeleaf 的内联js不当造成了 java.lang.StackOverflowError: null 问题
由于在页面上内联js使用不当,从而在从 Controller 跳转到页面时发生了以下错误: java.lang.StackOverflowError: null at org.thymeleaf.ut ...
- Thymeleaf 与 Javascript
在 javascript 代码中使用 Thymeleaf 模板引擎: <script th:inline="javascript"> $("#content& ...
- Thymeleaf+SpringMVC,如何从模板中获取数据
Thymeleaf+SpringMVC,如何从模板中获取数据 在一个典型的SpringMVC应用中,带@Controller注解的类负责准备数据模型Map的数据和选择一个视图进行渲染.这个模型Map对 ...
- Thymeleaf+Spring整合
前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...
- thymeleaf常用标签
1. th:checked ,th:selected标签<input type="radio" value="M" name="gender&q ...
- thymeleaf的常见用法
1,th:属性名="",就可以直接修改控件的属性,比如 <input th:type="button" th:name="xinxin" ...
随机推荐
- 【python中二叉树的实现】python中二叉树的创建、三种方式递归遍历和非递归遍历
代码如下: # coding=utf-8 class myNode(object): def __init__(self, data=-1, lchild=None, rchild=None): se ...
- CSS学习总结4:派生选择器学习总结
派生选择器:通过依据元素在其位置的上下文关系来定义样式,你可以使标记更加简洁.派生选择器中一共分为三种:后代选择器.子元素选择器.相邻兄弟选择器. 1.初识派生选择器 实例:你希望列表中的 stron ...
- MySQL优化(四) 慢查询的定位及优化
一.SQL语句优化的一般步骤: (1)通过 show status 命令了解各种 SQL 的执行效率: (2)定位执行效率较低的 SQL 语句(重点是 Select): (3)通过 explain 分 ...
- Python之路(第二十八篇) 面向对象进阶:类的装饰器、元类
一.类的装饰器 类作为一个对象,也可以被装饰. 例子 def wrap(obj): print("装饰器-----") obj.x = 1 obj.y = 3 obj.z = 5 ...
- idea连接操作数据库
场景 本文主要以DB2作为演示,其他数据库大同小异: 网上有很多推荐DB2的连接软件工具,但是因为DB2的使用场景不多,这次是在做数据资产管理的数据质量分析时使用到,在做数据交换时要在DB2中建表并同 ...
- wince sqlite c#
无法找到 PInvoke DLL“SQLite.Interop.084.dll 按下面步骤操作
- Alpha 冲刺 (10/10)
队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 测试整体软件 展示GitHub当 ...
- 【轻松前端之旅】<a>元素妙用
浏览器读取服务器内容时,通过URL(包含:协议+域名+绝对路径)如:https://www.baidu.com/index.html浏览器从本地读取内容时,会用file协议.如:file:///E:/ ...
- Linux 第八天
4.源码包和rpm包的区别 1)区别 安装前:概念上的区别 安装后:安装位置不同 2)安装位置 rpm包安装位置 Rpm包默认安装路径 /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安 ...
- drf7 分页组件
DRF的分页 数据库有几千万条数据,这些数据需要展示,不可能直接从数据库把数据全部读取出来, 这样会给内存造成特别大的压力,有可能还会内存溢出,所以希望一点一点的取,那展示的时候也是一样的,总是要进行 ...