博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Thymeleaf 学习笔记
阅读量:4560 次
发布时间:2019-06-08

本文共 2569 字,大约阅读时间需要 8 分钟。

https://www.yiibai.com/thymeleaf  具体教程 

目前只粘贴一些常见的用法

 

 

如何向使用@{...}表达式创建的URL添加参数? 

1.一个参数  输出结果 
2.多个参数  输出结果 
3.还可以使用正常参数的路径变量的形式包含参数,但在URL的路径中指定一个占位符:    输出结果 

th:attr 为元素属性赋值  一般不适用 都是用 th:value th:action th:text th:src th:href

1.一个属性           输出结果  
2.多个属性           输出结果  Logo de Good Thymes

th:attrappendth:attrprepend属性  标准方言中还有两个特定的附加属性th:classappendth:styleappend属性  类似上面的方言 th:attr

它们将评估结果附加(后缀)或前置(前缀)到现有属性值。

如果您在cssStyle变量设置为的情况下处理此模板"warning",您将获得:

使用th:each  迭代实现表格数据

     Onions 2.41 yes 

状态变量在th:each属性中定义,包含以下数据:

  • 当前迭代索引,从0开始。这是index属性。
  • 当前迭代索引,从1开始。这是count属性。
  • 迭代变量中元素的总量。这是size酒店。
  • 每次迭代的iter变量。这是current酒店。
  • 当前迭代是偶数还是奇数。这些是even/odd布尔属性。
  • 当前迭代是否是第一个迭代。这是first布尔属性。
  • 当前迭代是否是最后一次。这是last布尔属性。

 

使用th:if th:unless  th:switchth:case 条件语句

th:if标记在模板中迭代显示产品列表,如果产品的价格大于100,则会显示:“特殊提供”
           1 Red chair ¥350 2018-02-20 特殊提供 例子:th:if ="${not #lists.isEmpty(prod.comments)}         
如果有生成页面为特殊提供
th:case
    1 Red chair ¥350 2018-02-20  闪购 拼团 促销 其它               特殊提供            
 

定义和引用片段 :引用页面  如后台模板的头部,底部,菜单栏

    因此我们创建一个/WEB-INF/templates/footer.html包含以下代码的文件:

    <div th:fragment="copy">&copy; 2011 The Good Thymes Virtual Grocery</div>

    接着我们在主页 index.html中 使用th:insertth:replace属性引入该copy片段 

    <div th:insert="~{footer :: copy}"></div th:insert需要一个片段表达式 ~{页面::片段名称}

   重点:片段表达式的三种格式区别

© 2011 The Good Thymes Virtual Grocery
 

将导致:

 
© 2011 The Good Thymes Virtual Grocery
© 2011 The Good Thymes Virtual Grocery
© 2011 The Good Thymes Virtual Grocery

1,th:inssert:保留当前主标签,保留th:fragment主标签;

2,th:replace:舍弃当前主标签,保留th:fragment主标签;

3,th:include:保留当前主标签,舍弃th:fragment主标签。

 

JavaScript内联

JavaScript内联允许<script>HTML模板模式下处理的模板中更好地集成JavaScript 块。

文本内联一样,这实际上相当于处理脚本内容,就好像它们是JAVASCRIPT模板模式中的模板一样,因此文本模板模式的所有功能(见下一章)都将在眼前。但是,在本节中,我们将重点介绍如何使用它将Thymeleaf表达式的输出添加到JavaScript块中。

必须使用th:inline="javascript"以下方式明确启用此模式:

首先,JavaScript内联不仅会输出所需的文本,而且还会用引号和JavaScript来包含它 - 转义其内容,以便将表达式结果输出为格式良好的JavaScript文字。

其次,发生这种情况是因为我们将${session.user.name}表达式输出为转义,即使用双括号表达式:[[${session.user.name}]]。如果相反,我们使用非转义,如:

 

thymeleaf 对java8 localDate LocalDateTime的支持

<dependency>  

<groupId>org.thymeleaf.extras</groupId>

<artifactId>thymeleaf-extras-java8time</artifactId>

<version>3.0.0.RELEASE</version>

</dependency>

 

<p th:text=”${#dates.format(standardDate, ‘dd-MM-yyyy HH:mm’)}”></p>   这还是之前对 thymeleaf对java.util.date 时间的支持

<p th:text=”${#temporals.format(localDateTime, ‘dd-MM-yyyy HH:mm’)}”></p>

<p th:text=”${#temporals.format(localDate, ‘MM-yyyy’)}”></p>

 
 
 
 

 

转载于:https://www.cnblogs.com/wenbuzhu/p/10059666.html

你可能感兴趣的文章
骑马式瘦腿瑜伽 消除肌肉型小腿
查看>>
要检测两个C文件的代码的抄袭情况
查看>>
PHP-多域名单点登陆方案
查看>>
iOS开发之应用内支付IAP全部流程
查看>>
【web技术】html特效代码(一)
查看>>
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
查看>>
高可用集群搭建
查看>>
Lua学习笔记
查看>>
Redis监控工具,命令和调优
查看>>
使用newFixedThreadpool(size)时,系统线程数超过size。
查看>>
负载均衡的mariadb集群搭建
查看>>
mysql使用
查看>>
Spark 学习笔记:(二)编程指引(Scala版)
查看>>
phpMyAdmin教程 之 创建新用户/导入/导出数据库
查看>>
20个很有用的CSS技巧
查看>>
如何将vs2012项目的网站布置到iis上,实现内网访问
查看>>
SDK编程中有效区域与无效区域的盲区WM_PAINT消息何时发送的。。。
查看>>
LeetCode 176 Second Highest Salary mysql,select 嵌套 难度:1
查看>>
Thrift入门及Java实例演示<转载备用>
查看>>
NYOJ-176整数划分(二)
查看>>