thymeleaf中的模板布局
一.包括模板片段:
1:定义和引用片段,我们经常会想要包含在模板片段来自其他模板。常见的用途是页脚、标题、菜单…;
为了做到这一点,Thymeleaf需要我们定义包含可用的片段,我们可以通过使用th:fragment属性。
定义一个页面底部footer页面,在每一个需要的页面都可以用的模板,可以通过使用th:fragment属性
<div th:fragment="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">© 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:include
和th:with的
组合
<div th:include="::frag" th:with="onevar=${value1},twovar=${value2}">
thymeleaf中的模板布局相关推荐
- Spring MVC应用程序中的Thymeleaf模板布局,无扩展
在使用JSP / JSTL和Apache Tiles几年之后,我开始为我的Spring MVC应用程序发现Thymeleaf. Thymeleaf是一个非常出色的视图引擎,尽管目前缺乏良好的Intel ...
- [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解
模板布局 公共部分通常定义为模板布局:如页眉,页脚,公共导航栏.菜单等. 模板布局定义方法 布局页中用 th:fragment 定义模板片段,其他页面用 th:insert 引用片段 例如:foote ...
- Spring Boot系列之Thymeleaf模板布局
PS:原文首发于微信公众号:躬行之(jzman-blog) 前面几篇文章尝试了接口开发.Thymeleaf 模板及其常用语法,阅读本文之前可以阅读前面几篇: Spring Boot系列之开发一个接口 ...
- springboot中thymeleaf渲染html模板
有时候我们会遇到这样的一个需求: 通过前端传入的数据渲染一个现成的打印模板出来,最后返回一个html格式的文本给前端,模板是有一个现成的,但是每次传入进来的数据是不同的,所以需要后端经过渲染出来返回渲 ...
- Thymeleaf 中文文档----全译版
文章目录 1 引入Thymeleaf 1.1 Thymeleaf是什么? 1.2 Thymeleaf可以处理什么样的模板? 1.3 方言:标准方言 2 一个很棒的虚拟杂货店设计 2.1 一个杂货店的网 ...
- Thymeleaf中文文档
文章目录 1 引入Thymeleaf 1.1 Thymeleaf是什么? 1.2 Thymeleaf可以处理什么样的模板? 1.3 方言:标准方言 2 一个很棒的虚拟杂货店设计 2.1 一个杂货店的网 ...
- Spring Boot 系列(五)web开发-Thymeleaf、FreeMarker模板引擎
前面几篇介绍了返回json数据提供良好的RESTful api,下面我们介绍如何把处理完的数据渲染到页面上. Spring Boot 使用模板引擎 Spring Boot 推荐使用Thymeleaf. ...
- flask中jinjia2模板引擎详解3
接上文 模板继承 Jinji2中的模板继承是jinjia2比较强大的功能之一. 模板继承可以定义一个父级公共的模板,把同一类的模板框架定义出来共享. 这样做一方面可以提取共享代码,减少代码冗余和重复的 ...
- 个人空间风格模版php,ThinkPHP 模板布局
模块继承 {extend name="" /} {block name=""} {/block} 基础模板 base.html 子模板 块区 在子模板中,可以对 ...
最新文章
- Python使用matplotlib可视化小提琴图、seaborn中的violinplot函数可视化多分类变量的小提琴图(Violin Plot)
- css多行超出显示点_CSS实现单行、多行文本溢出显示省略号(…)
- 计算机组成测试题目及答案,计算机组成原理期中测试试卷一(含题目和答案)
- centos 新装mysql 进入,centos5安装 mysql 提示需要用户及密码进入?Duplicate entry 'localhost-' for key 1...
- 面试高级测试工程师修炼之接口测试平台开发
- 基于tutk方案的p2p源码_基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计)...
- 【Python】导入类
- 查看tomcat版本信息
- 零基础想快点入行软件测试是不是非得参加培训班?
- python 绘制3D图
- JS逆向 2021-8-16 网易云音乐 params、encSecKey参数
- android 环信客服修改自己的头像
- fir多相滤波器实现
- 武汉市洪山区高新技术企业认定奖励标准及申请材料、条件、要求
- 聊聊苹果审核——App Store Review Guidelines
- Java大数据-Hadoop-HDFS客户端操作文件更名和移动
- 分享几个学习翻译的方法
- 闪存Nand Flash存储结构浅析
- RK3588 AVS全景拼接技术案例
- 如何统一管理混乱的指标?