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 的使用的更多相关文章

  1. spring boot(四):thymeleaf使用详解

    在上篇文章springboot(二):web综合开发中简单介绍了一下thymeleaf,这篇文章将更加全面详细的介绍thymeleaf的使用.thymeleaf 是新一代的模板引擎,在spring4. ...

  2. Thymeleaf

    1.在html顶部添加 <html xmlns:th="http://www.thymeleaf.org"> 2.url表达式 @{...} <link rel= ...

  3. Thymeleaf 模板的使用

    Thymeleaf是现代化服务器端的Java模板引擎,不同与JSP和FreeMarker,Thymeleaf的语法更加接近HTML,并且也有不错的扩展性.详细资料可以浏览官网.本文主要介绍Thymel ...

  4. vert.x学习(三),Web开发之Thymeleaf模板的使用

    在vert.x中使用Thymeleaf模板,需要引入vertx-web-templ-thymeleaf依赖.pom.xml文件如下 <?xml version="1.0" e ...

  5. 页面上使用 Thymeleaf 的内联js不当造成了 java.lang.StackOverflowError: null 问题

    由于在页面上内联js使用不当,从而在从 Controller 跳转到页面时发生了以下错误: java.lang.StackOverflowError: null at org.thymeleaf.ut ...

  6. Thymeleaf 与 Javascript

    在 javascript 代码中使用 Thymeleaf 模板引擎: <script th:inline="javascript"> $("#content& ...

  7. Thymeleaf+SpringMVC,如何从模板中获取数据

    Thymeleaf+SpringMVC,如何从模板中获取数据 在一个典型的SpringMVC应用中,带@Controller注解的类负责准备数据模型Map的数据和选择一个视图进行渲染.这个模型Map对 ...

  8. Thymeleaf+Spring整合

    前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...

  9. thymeleaf常用标签

    1. th:checked ,th:selected标签<input type="radio" value="M" name="gender&q ...

  10. thymeleaf的常见用法

    1,th:属性名="",就可以直接修改控件的属性,比如 <input th:type="button" th:name="xinxin" ...

随机推荐

  1. svn 清理失败的解决方法

    首先 下载 SQLiteSpy   工具, 解压后如下图所示, 打开 .exe  应用程序,File ,opendatabase 选中wc.db  然后执行 delete  from  work_qu ...

  2. c++ stl源码剖析学习笔记(三)容器 vector

    stl中容器有很多种 最简单的应该算是vector 一个空间连续的数组 他的构造函数有多个 以其中 template<typename T> vector(size_type n,cons ...

  3. WPF 凭证分录控件

    凭证分录编辑控件,效果如下: 源码:https://gitee.com/orchis/VoucherGridCtl.git

  4. android 可以在程序代码中设置样式:style

    <style name="text_style"> <item name="android:textStyle">bold</it ...

  5. oracle序列的使用

    第一天:序列的使用 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方.  1.Create Sequence  你首先要有CREATE SEQ ...

  6. IT资产管理—采购与合同管理功能

  7. UML类图中箭头和线条的含义和用法

    UML类图中箭头和线条的含义和用法 在学习UML过程中,你经常会遇到UML类图关系,这里就向大家介绍一下UML箭头.线条代表的意义,相信通过本文的介绍你对UML中箭头.线条的意义有更明确的认识. AD ...

  8. ABP框架系列之四十六:(Setting-Management-设置管理)

    Introduction Every application need to store some settings and use these settings in somewhere in th ...

  9. mysql8.0 linux 安装

    1.下载 mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz 2.解压 tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.ta ...

  10. 【MarkMark学习笔记学习笔记】javascript/js 学习笔记

    1.0, 概述.JavaScript是ECMAScript的实现之一 2.0,在HTML中使用JavaScript. 2.1 3.0,基本概念 3.1,ECMAScript中的一切(变量,函数名,操作 ...