博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
toLua踩坑
查看>>
php手册总结《安装与配置》
查看>>
获取手机CCID号
查看>>
PAT-乙级-1001. 害死人不偿命的(3n+1)猜想 (15)
查看>>
自定义IP协议
查看>>
8、sort排序中比较函数的几种应用方式
查看>>
Apache 解析.htaccess
查看>>
Sublime Text 2学习记录
查看>>
UWP开发入门(三)——{x:Bind}扩展标记
查看>>
SoupUI接口测试学习分享
查看>>
HDU2275
查看>>
tomcat:A docBase * inside the host appBase has been specifi, and will be ignored
查看>>
动态创建按钮及处理OnClick事件
查看>>
字符集
查看>>
《Linux命令行与shell脚本编程大全 第3版》Linux命令行---51
查看>>
《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---27
查看>>
jQuery最佳实践
查看>>
DelphiXE2 DataSnap开发技巧收集
查看>>
HoloLens开发手记 - Unity之Keyboard input 键盘输入
查看>>
关于日历
查看>>