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" ...
随机推荐
- git回滚远程仓库
关于远程仓库回滚 首先,必须要明白的一件事,任何普通用户不能擅自做有关远程仓库回退的操作,如果你擅自回滚了远程仓库,会对项目团队其他人造成不可预知的影响.如果需要回退版本,先联系项目的仓库管理员,在团 ...
- Swift 闭包即OC中的Block
- 闭包的定义 1.提前准备好的代码 2.在需要的时候执行 3.可以当做参数传递 // 1.最简单的闭包 // () -> () 没有参数,没有返回值的函数 // 如 ...
- stark组件开发之关键搜索
- 模糊搜索: 在页面生成一个表单. 以get 方式, 将数据提交到.当前查看页面. 后台接收数据,然后进行筛选过滤. 着个也需要,用户自定制! 定义一个 search_list 这个值,默 ...
- linux/windows转mac的习惯设置
外接键盘 常用快捷键设置 中英文快捷键名都重新设置一遍 使用ctrl替代command(对 内置 键盘操作) https://jingyan.baidu.com/article/6f2f55a1465 ...
- C#跨窗体传值的几种方法分析(很详细)
创建一个Winform窗体应用程序项目,然后添加一个Form2窗体. 在Form1和Form2中各添加一个textBox和button: 单击Form1中的button1,弹出Form2,然后要做的就 ...
- Python下安装MySQLdb模块
----------------------[针对Windows下python 的MySQLdb模块安装]--------------------- 一.检查MySQLdb模块是否安装,可在DOS命令 ...
- Solr定时导入功能实现
需要实现Solr定时导入功能的话,我们可以通过使用Solr自身所集成的dataimportscheduler调度器实现 下载对应的jar包,下载地址https://code.google.com/ar ...
- Spring的介绍与搭建
一.Spring的介绍 二.Spring的搭建 (1)导包 (2)创建一个对象 (3)书写配置注册对象到容器 (4)代码测试
- Mac os下android studio模拟器无法联网解决方法
步骤1: https://blog.csdn.net/qq_33945246/article/details/79908298 步骤2: 访达进入/Users/文件夹 步骤3: shift+cmman ...
- JAVA 8 主要新特性 ----------------(二)版本中数据结构的修改浅析
一.版本中数据结构的修改浅析1.HashMap.HashSet.ConcurrentHashMap的数据结构发生变化 (1)HashMap简介(结构:哈希表+链表) HashMap存储的数据是无序的, ...