一.包括模板片段:

  1:定义和引用片段,我们经常会想要包含在模板片段来自其他模板。常见的用途是页脚、标题、菜单…;

为了做到这一点,Thymeleaf需要我们定义包含可用的片段,我们可以通过使用th:fragment属性。

  定义一个页面底部footer页面,在每一个需要的页面都可以用的模板,可以通过使用th:fragment属性

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

上面的代码定义了一个叫做副本的片段,我们可以很容易地包含在我们的主页上通过使用th:include or th:replace属性之一:

<body>...<div th:include="footer :: copy"></div>
</body>

引用片段没有th:fragment:

...
<div id="copy-section">&copy; 2011 The Good Thymes Virtual Grocery
</div>
...

页面引用:th:include="templatename::domselector"

1
templatename是要引入页面的路劲加上去掉后缀的名称,例如footer.html页面建立在/WEB-INF/templates/footer.html,所以templatename为footer;domselector就是dom选择器,即为th:fragment中的值,或是选择id
<body>...<div th:include="footer :: #copy-section"></div></body

注意:

1
2
3
4
5
6
7
8
9
10
带有公共的页面,不要带有
<html>
    <head></head>
    <body></body>
</html>
直接写内容:
    <div th:fragment="copy">
      © 2011 The Good Thymes Virtual Grocery
    </div>
  

  扩展写法,希望能灵活运用:

<div th:include="footer :: (${user.isAdmin}? #{footer.admin} : #{footer.normaluser})"></div>

二.可参数化的片段签名

 可以像参数一样传入参数:

<div th:fragment="frag (onevar,twovar)"><p th:text="${onevar} + ' - ' + ${twovar}">...</p>
</div>

两种调用方式引入页面:

<div th:include="::frag (${value1},${value2})">...</div>
<div th:include="::frag (onevar=${value1},twovar=${value2})">...</div>

如果没有带参数,如下形式:

<div th:fragment="frag">...
</div>

依然可以使用带参数的引入,但是必须使用第二种引入方式,另一种不行:如下是正确的引入方式

<div th:include="::frag (onevar=${value1},twovar=${value2})">

这样事实上,这将是相当于一个th:includeth:with的组合

<div th:include="::frag" th:with="onevar=${value1},twovar=${value2}">

thymeleaf中的模板布局相关推荐

  1. Spring MVC应用程序中的Thymeleaf模板布局,无扩展

    在使用JSP / JSTL和Apache Tiles几年之后,我开始为我的Spring MVC应用程序发现Thymeleaf. Thymeleaf是一个非常出色的视图引擎,尽管目前缺乏良好的Intel ...

  2. [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解

    模板布局 公共部分通常定义为模板布局:如页眉,页脚,公共导航栏.菜单等. 模板布局定义方法 布局页中用 th:fragment 定义模板片段,其他页面用 th:insert 引用片段 例如:foote ...

  3. Spring Boot系列之Thymeleaf模板布局

    PS:原文首发于微信公众号:躬行之(jzman-blog) 前面几篇文章尝试了接口开发.Thymeleaf 模板及其常用语法,阅读本文之前可以阅读前面几篇: Spring Boot系列之开发一个接口 ...

  4. springboot中thymeleaf渲染html模板

    有时候我们会遇到这样的一个需求: 通过前端传入的数据渲染一个现成的打印模板出来,最后返回一个html格式的文本给前端,模板是有一个现成的,但是每次传入进来的数据是不同的,所以需要后端经过渲染出来返回渲 ...

  5. Thymeleaf 中文文档----全译版

    文章目录 1 引入Thymeleaf 1.1 Thymeleaf是什么? 1.2 Thymeleaf可以处理什么样的模板? 1.3 方言:标准方言 2 一个很棒的虚拟杂货店设计 2.1 一个杂货店的网 ...

  6. Thymeleaf中文文档

    文章目录 1 引入Thymeleaf 1.1 Thymeleaf是什么? 1.2 Thymeleaf可以处理什么样的模板? 1.3 方言:标准方言 2 一个很棒的虚拟杂货店设计 2.1 一个杂货店的网 ...

  7. Spring Boot 系列(五)web开发-Thymeleaf、FreeMarker模板引擎

    前面几篇介绍了返回json数据提供良好的RESTful api,下面我们介绍如何把处理完的数据渲染到页面上. Spring Boot 使用模板引擎 Spring Boot 推荐使用Thymeleaf. ...

  8. flask中jinjia2模板引擎详解3

    接上文 模板继承 Jinji2中的模板继承是jinjia2比较强大的功能之一. 模板继承可以定义一个父级公共的模板,把同一类的模板框架定义出来共享. 这样做一方面可以提取共享代码,减少代码冗余和重复的 ...

  9. 个人空间风格模版php,ThinkPHP 模板布局

    模块继承 {extend name="" /} {block name=""} {/block} 基础模板 base.html 子模板 块区 在子模板中,可以对 ...

最新文章

  1. Python使用matplotlib可视化小提琴图、seaborn中的violinplot函数可视化多分类变量的小提琴图(Violin Plot)
  2. css多行超出显示点_CSS实现单行、多行文本溢出显示省略号(…)
  3. 计算机组成测试题目及答案,计算机组成原理期中测试试卷一(含题目和答案)
  4. centos 新装mysql 进入,centos5安装 mysql 提示需要用户及密码进入?Duplicate entry 'localhost-' for key 1...
  5. 面试高级测试工程师修炼之接口测试平台开发
  6. 基于tutk方案的p2p源码_基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计)...
  7. 【Python】导入类
  8. 查看tomcat版本信息
  9. 零基础想快点入行软件测试是不是非得参加培训班?
  10. python 绘制3D图
  11. JS逆向 2021-8-16 网易云音乐 params、encSecKey参数
  12. android 环信客服修改自己的头像
  13. fir多相滤波器实现
  14. 武汉市洪山区高新技术企业认定奖励标准及申请材料、条件、要求
  15. 聊聊苹果审核——App Store Review Guidelines
  16. Java大数据-Hadoop-HDFS客户端操作文件更名和移动
  17. 分享几个学习翻译的方法
  18. 闪存Nand Flash存储结构浅析
  19. RK3588 AVS全景拼接技术案例
  20. 如何统一管理混乱的指标?

热门文章

  1. docker多主机网络方案
  2. RedHat Enterprise LInux 6.3 安装Oracle Database 11g
  3. Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API【附PPT】
  4. FPGA组成、工作原理和开发流程
  5. [译] TypeScript:拥有超能力的 JavaScript(下)
  6. 训练指南第二章-基础问题
  7. win7系统自带截图工具快捷键是什么?怎么设置快捷键
  8. Highlight – 代码高亮html输出软件
  9. Javascript 或运算的判断小问题
  10. 【2008】奥运门票4月15日开始预定 四种购买方式供选