我是靠谱客的博主 洁净抽屉,最近开发中收集的这篇文章主要介绍八、thymeleaf 公共页面元素抽取,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、抽取公共片段

使用 th:fragment = “fra_name” 声明一个公共片段


<footer th:fragment="head" id="id_head">
<p>Head Information.</p>
</footer>

2、抽取公共片段

~{templatename::selector}:模板名::选择器

~{templatename::fragmentname}:模板名::片段名

templatename:当前引用片段所在文件位置。

selector:公共片段的选择器。

fragmentname:公共片段的名字。

例如,上面的公共片段在 bar.html 文件中声明,那么可以像下面这样引用:


//片段名引用
<div th:insert="~{bar :: head}"></div>
//选择器引用
<div th:insert="~{bar :: #id_head}"></div>

3、三种引用方式的区别

(1)、th:insert : 将公共片段整个插入到声明引入的元素中


//引入
<div th:insert="~{bar :: head}"></div>
//效果
<div>
<footer id="id_head">
<p>Head Information.</p>
</footer>
</div>

会将引入片段所在的标签全部引入到当前标签中。

(2)、th:replace : 将声明引入的元素替换为公共片段


//引入
<div th:replace="~{bar :: head}"></div>
//效果
<footer id="id_head">
<p>Head Information.</p>
</footer>

引入标签的 div 会被覆盖掉,最后内容为整个带引入标签内容。

(3)、th:include:将被引入的片段的内容包含进这个标签中


//引入
<div th:include="~{bar :: head}"></div>
//效果
<div>
<p>Head Information.</p>
</div>

只会将被引入片段其中的内容拿过来,其声明标签不要。


当然以上引入方式也可以使用选择器完成。

如果引入方式是这样的:


<div th:replace="commons/bar::#sidebar"></div>

表示引入的片段,是当前文件同级目录 commons 包(文件夹)下 bar 文件中 id 为 sidebar 的片段。

4、携带参数

  在引入公共片段时,可以携带参数。将参数用加括号放在引入片段后面即可。


<div th:replace="commons/bar::#sidebar(activeUri='emps')"></div>

  上面代码表示,引入片段时带入名为 activeUri 的参数,参数值为 emps。

  在公共代码片段处,可以根据不同的参数值做出不同的动作。


<nav>
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link active" th:href="@{/index}"
//根据参数是否等于 index 给当前元素添加不同的 classth:class="${activeUri=='index' ? 'nav-link active' : 'nav-link'}" >
INDEX
</a>
</li>
...
...
</ul>
</nav>

最后

以上就是洁净抽屉为你收集整理的八、thymeleaf 公共页面元素抽取的全部内容,希望文章能够帮你解决八、thymeleaf 公共页面元素抽取所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部