3.7 模板布局

模板名称:layout.html

3.7.1 th:fragment

e.g.模板名为footer.html页面body部分如下:
<body>
  <div th:fragment="copy">
&copy; 2011 The Good Thymes Virtual Grocery
</div>
</body>
fragment片段定义语法:
如th:fragment=”copy”这样就定义了一个名为copy的fragment

3.7.2 th:include  and th:replace

<1>引入fragment的形式:    简单地,templatename::fragmentname(不惟一)
 <div th:insert="~{footer :: copy}"></div>
equals.
<div th:insert="footer :: copy"></div>
<2>二者的区别 th:include:将fragment的内容包含进来; th:replace:用fragment替换掉所在标签
        

3.7.3 th:remove

一般用于将模拟数据在真实环境中移除:  
th:remove可以以五种不同的方式行事,具体取决于它的价值
  • all:删除包含标签及其所有子项。
  • body:不要删除包含的标签,但删除其所有的孩子。
  • tag:删除包含的标签,但不要删除其子项。
  • all-but-first:除去第一个包含标签的所有子项。
  • none: 没做什么。该值对于动态评估是有用的。
e.g.
 <tr th:remove="all">
<td>Mild Cinnamon</td>
<td>1.99</td>
<td>yes</td>
</tr> <a href="/something" th:remove="${condition}? tag : none">Link text not to be removed</a>

3.8 th:with

模板名称:with.html 定义局部变量

1.可一次定义多个,逗号分隔

e.g.
<div th:with="firstPer=${list[0]}">
<p>The name of the first person is <span th:text="${firstPer.userName}">Julius Caesar</span>.</p>
</div>
<div th:with="firstPer=${list[0]},secondPer=${list[1]}">
<p>The name of the first person is <span th:text="${firstPer.userName}">Julius Caesar</span>.</p>
<p> But the name of the second person is <span th:text="${secondPer.userName}">Marcus Antonius</span>.
</p>
</div>

2.可复用

e.g.
<div th:with="company=${user.company},account=${accounts[company]}">
<div th:text="${company}"></div>
<div th:text="${account}"></div>
</div>

3.9 属性优先级

  

(八)Thymeleaf的 th:* 属性之—— 模板布局& th:with& 属性优先级的更多相关文章

  1. thymeleaf 模板布局

    八.模板布局(Template Layout) 8.1 包含模板片段(Including template fragments) 定义和引用片段 我们通常想要从别的模板文件中调用一些模板片段,例如 页 ...

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

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

  3. Thymeleaf+SpringMVC,如何从模板中获取数据(转)

    在一个典型的SpringMVC应用中,带@Controller注解的类负责准备数据模型Map的数据和选择一个视图进行渲染.这个模型Map对视图进行完全的抽象,在使用Thymeleaf的情况下,它将是一 ...

  4. ThinkPHP3.1 模板布局

    ThinkPHP的模板引擎内置了布局模板功能支持,可以方便的实现模板布局以及布局嵌套功能.有三种布局模板的支持方式: 第一种方式:全局配置方式 这种方式仅需在项目配置文件中添加相关的布局模板配置,就可 ...

  5. thinkphp 模板布局

    ThinkPHP的模板引擎内置了布局模板功能支持,可以方便的实现模板布局以及布局嵌套功能. 有三种布局模板的支持方式: 第一种方式:全局配置方式 这种方式仅需在项目配置文件中添加相关的布局模板配置,就 ...

  6. CSS HTML元素布局及Display属性

    本篇文章主要介绍HTML的内联元素.块级元素的分类与布局,以及dispaly属性对布局的影响. 目录 1. HTML 元素分类:介绍内联元素.块级元素的分类. 2. HTML 元素布局:介绍内联元素. ...

  7. [WPF系列]-数据邦定之DataTemplate 根据对象属性切换模板

      引言 书接上回[WPF系列-数据邦定之DataTemplate],本篇介绍如何根据属性切换模板(DataTemplate)   切换模板的两种方式:   使用DataTemplateSelecto ...

  8. Flex布局教程及属性速查

    一.Flex布局介绍 伸缩盒模型(flexbox)是一个新的盒子模型,意为"弹性布局",用来为盒状模型提供最大的灵活性,主要优化了UI布局.Flexbox的功能主要包手:简单使用一 ...

  9. thinkphp多模板布局设置!!

    首先开启模板布局要在配置文件添加: 'LAYOUT_ON'=>true, 'LAYOUT_NAME'=>'layout', 如果需要设置多个布局模板,就要先关闭上面的LAYOUT_ON,也 ...

随机推荐

  1. Python之jieba分词

    jieba,很有意思的一个模块,专门用来分词. import jieba # sentence:分割的中文字符串 # cut_all:是否采用全模式,默认为False表示精确模式 # HMM:表示是否 ...

  2. AJAX中的同步加载与异步加载

    AJAX是四个单词的简写,其中Asynchronous即异步的意思,异步的链接可以同时发起多个,并且不会阻止JS代码执行.与之对应的概念是同步,同步的链接在同一时刻只会有一个,并且会阻止后续JS代码的 ...

  3. Appium+python自动化7-输入中文【转载】

    前言 在做app自动化过程中会踩很多坑,咱们都是用的中文的app,所以首先要解决中文输入的问题! 本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点搜索按钮,进 ...

  4. 代码编辑器[0] -> Vim/gVim[2] -> Vim 的相关知识

    相关知识 / Relevant Knowledge 1 _vimrc编程 / _vimrc Program 1. 注释符", 用于注释 2. 关键词set, 用于设置功能等 3. 关键词im ...

  5. LCA【bzoj3364】 [Usaco2004 Feb]Distance Queries 距离咨询

    Description  奶牛们拒绝跑马拉松,因为她们悠闲的生活无法承受约翰选择的如此长的赛道.因此约翰决心找一条更合理的赛道,他打算咨询你.此题的地图形式与前两题相同.但读入地图之后,会有K个问题. ...

  6. HttpClient 同时上传多个文件及参数, 同时利用 Web Api 接收

    using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient()) { client.BaseAddress = ...

  7. [POI2013]Tower Defense Game

    题目大意: 一个$n(n\le5\times10^5)$个点$m(m\le10^6)$条边的无向图,边权全为$1$,满足若一个标记点能覆盖与其距离不超过$1$的点,从中选取不超过$k$个点能将整张图覆 ...

  8. MySQL 5.7.17 Group Replication 初始

    http://blog.csdn.net/mchdba/article/details/53957248

  9. linux mysql安装(亲测)

    参考文章:http://blog.csdn.net/superchanon/article/details/8546254/ 1.       运行平台:CentOS 6.7 x86_64 2.    ...

  10. 高并发下的Node.js与负载均衡

    新兴的Node.js已经吸引了很多开发人员的眼光,它提供给我们一个快速构建高性能的网络应用的平台.我也开始逐步投入node.js的怀抱,在学习和使用的过程中,遇到了一些问题,也有一些经验,我觉得有必要 ...