一.基础写法: th:text='${数据}  ,其中text可以修改成其他,如href,value,class....看需求

<p th:text='${后台返回的数据}'>静态文本</p>       <!--文本输出-->
<input th:value="${后台返回的数据}" />      <!--输入框value值-->
<a th:href='${href}'>超链接</a>
<img th:src='${path}' />              <!--path为后台返回的路径-->

注:th:utext可以解析标签,而th:text不能解析标签,如果后台传的数据有带标签的会原封不动的输出来

var box='<p><b>hello</b></p>';

//前台接受数据
<div th:text="${box}"></div> ---->输出<p><b>hello</b></p>
<div th:utext="${box}"></div> ---->输出hello,并通过b标签进行加粗

二.循环

<!--循环(arr为后台穿的数组,包括id和name值)-->

        <th:block th:each='list,state : ${arr}'>
<li th:text='${list.id}'></li>
<li th:text='${list.name}'></li>
<li th:text='${state.index}'></li> <!--state.index为循环的索引,从0开始-->
<li th:text='${state.count}'></li> <!--state.count为循环的索引,从1开始-->
<li th:text='${state.size}'></li> <!--state.size为对象的大小,长度-->
<li th:text='${state.current}'></li> <!--state.current迭代的变量-->
<li th:text='${state.even}'></li> <!--布尔值,当前循环是否为偶数-->
<li th:text='${state.odd}'></li> <!--布尔值,当前循环是否为奇数-->
<li th:text='${state.first}'></li> <!--布尔值,当前循环是否为第一个-->
<li th:text='${state.last}'></li> <!--布尔值,当前循环是否为最后一个-->
</th:block>

注: <th:block></th:block>  thymealeaf解析时会移除掉此标签对,但不会移除其中的内容。(一般出现在循环和公共引用中)

三:定义块,引用块

<!--定义一个可以引用的块,th:fragment='meta'  meta:块名字可以随意取,根据内容-->
<th:block th:fragment='meta'>
  <meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE">
</th:block> <!--引用上面定义的块 ,meta是定义块的名字-->
<th:block th:include="(${块路径})'::meta"></th:block>

  <!--replace替换标签-->
  <th:block th:replace="(${块路径})'::meta"></th:block>

四:if条件,unless条件(与if相反)

    <!--if条件判断,arr为后台传过来的数据-->
<th:block th:each='list,state :${arr}'>
<li th:if='${state.index lt 2}' th:text='${list}'></li> <!--如果遍历的所以值小于2,获取遍历的list列表,其他索引大于等于2的的不遍历-->
       <li th:unless='${list==null}'>login</li>    <!--list遍历项为空,则不显示,unless与if条件相反-->
    </th:block>

 

注: 两个值比较的对应的表达式

    >                  gt

    <     lt

    >=      ge

    <=      le

    ==      eq

    !=     ne

五:switch...case

     <!--如果遍历出来的值为张三,则显示'名叫张三'-->
<!--如果遍历出来的值为李四,则显示'名叫李四'-->
<th:block th:each='list,state :${arr}'>
<li th:switch='${list.name}'>
<span th:case='张三' th:text='名叫张三'></span>
<span th:case='李四' th:text='名叫李四'></span>
</li>
</th:block>

注:满足其中一个条件才会显示对应的值,如果都不满足,则不显示.不同display:block,这里是标签都没有,没有这个元素,上面的if条件也一样

六:select

<select th:field='${sex}' th:switch='${sex.tostring}'>
<option value="男" th:case='男' th:selected='selected'>男</option>
<option value="女" th:case='女' th:selected='selected'>女</option>
<option value="" >请选择</option>
</select>

注:后台取的sex数据,如果对应的值为男,则显示''男'',为女则显示''女'',如果为空,则默认显示'请选择'

Thymeleaf 随记的更多相关文章

  1. 记一次SpringBoot 开发中所遇到的坑和解决方法

    记一次SpringBoot 开发中所遇到的坑和解决方法 mybatis返回Integer为0,自动转型出现空指针异常 当我们使用Integer去接受数据库中表的数据,如果返回的数据中为0,那么Inte ...

  2. Thymeleaf模板引擎的初步使用

    在springboot中,推荐使用的模板引擎是Thymeleaf模板引擎,它提供了完美的Spring MVC的支持.下面就简单的介绍一下Thymeleaf模板引擎的使用. 在controller层中, ...

  3. [SpringBoot——Web开发(使用Thymeleaf模板引擎)]

    [文字只能描述片段信息,具体细节参考代码] https://github.com/HCJ-shadow/SpringBootPlus 引入POM依赖 <properties> <ja ...

  4. Springboot模板(thymeleaf、freemarker模板)

    目的: 1.thymeleaf模板 2.Freemarker模板 thymeleaf模板 thymeleaf 的优点: 支持html5标准,页面无须部署到servlet开发到服务器上,直接通过浏览器就 ...

  5. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  6. Spark踩坑记——数据库(Hbase+Mysql)

    [TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...

  7. 这些年一直记不住的 Java I/O

    参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以从这个总入口 Java SE 8 Documentati ...

  8. 千回百折:百度Java研发offer斩获记和经验分享

    起因 面试过程 等待offer的过程中悟道 Java面试常考知识点个人总结 过程 百度——作为国内互联网的巨头之一,最近的一些风波对其褒贬不一,但是类似事件不是第一次发生,也绝对不是最后一次,对于真的 ...

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

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

随机推荐

  1. BZOJ 4765 普通计算姬 dfs序+分块+树状数组+好题!!!

    真是道好题...感到灵魂的升华... 按dfs序建树状数组,拿前缀和去求解散块: 按点的标号分块,分成一个个区间,记录区间子树和 的 总和... 具体地,需要记录每个点u修改后,对每一个块i的贡献,记 ...

  2. php内置web server

    今天刚开始正式学习PHP(之前有一点了解),推荐学习的网站是w3school.一开始不知道tomcat服务器不支持PHP脚本,直接把.php文件放到tomcat里面去运行,结果嵌入的php代码段没有什 ...

  3. LeeCode(No3 - Longest Substring Without Repeating Characters)

    题目: Given a string, find the length of the longest substring without repeating characters. 示例: Given ...

  4. 如何将微信上传AMR格式语音转化为MP3格式

    1. 服务器安装ffmpeg 2. 执行命令 ffmpeg -i {amr_file_path} -f mp3 -acodec libmp3lame -y {mp3_file_path} public ...

  5. 7.JSP简介

    ---恢复内容开始--- 1.JSP简介 Java动态网页技术标准(Java Server Pages)是基于Servlet技术以及整个Java体系的Web开发技术是用于动态生成HTML文档的Web页 ...

  6. Java发送http请求(get 与post方法请求)

    转载:https://www.cnblogs.com/zzw1994/p/5140538.html

  7. docker 设置固定ip、配置网络

    Docker安装后,默认会创建下面三种网络类型 $ docker network ls NETWORK ID NAME DRIVER SCOPE 9781b1f585ae bridge bridge ...

  8. css连续的纯数字或字母强制换行

    white-space:normal; word-break:break-all; white-space: normal|pre|nowrap|pre-wrap|pre-line|inherit;w ...

  9. tomcat入门(一)几种常见的使用tomcat部署项目的方式

    1.常规方式部署 直接把web项目复制到tomcat安装目录下的%Tomcat_Home%/webapps/{web项目} 2.使用控制台进行部署 若一个web应用结构为D:\workspace\We ...

  10. RTT学习

    一互斥量:是信号量的一种,用于共享资源的排他性使用,以锁的形式存在,初始化时为可用,不能在中断中使用,可能导致优先级翻转. 二 事件:创建.删除.初始化.解绑.等待.发送.可以一对多多对的,发送一个事 ...