使用thymeleaf引用公共页面的方法
head.html,使⽤th:fragment属性来定义被包含的模版⽚段,以供其他模版引用或者包含,这里我们定义了头部(admin_head(title))、主体(admin_common)、底部(admin_bottom)三个模板片段
<!DOCTYPE html><html><head th:fragment="admin_head(title)"> <meta charset="UTF-8"> <title th:text="${title}"></title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="format-detection" content="telephone=no"> <base th:href="${#request.getContextPath()}+'/'"> <!-- 引用页面css样式 --> <link rel="stylesheet" th:href="@{/css/common/public.css}" media="all"/></head><body><th:block th:fragment="admin_common">这是公共信息</th:block><th:block th:fragment="admin_bottom"> <!-- jquery控件 --> <script type="text/javascript" charset="utf-8" th:src="@{/js/common/jquery-3.4.1.min.js}"></script></th:block></body></html>
2. 引用定义好的模板片段2.1 示例1
main.html,双冒号(::)前面是公共页面路径,不受当前页面层级影响,直接从根路径写即可
<!DOCTYPE html><html><!-- 引用公共页面头部片段信息,双冒号(::)前后都要有空格,切记 --><head th:replace="common/head :: admin_head(测试页)"><meta charset="UTF-8"><title>Insert title here</title></head><!-- 引用公共页面主体片段信息 --><body th:include="common/head :: admin_common"></body></html>
2.2 示例2我们来看一下页面源码,头部信息和主体都已经加载过来了
list.html,双冒号(::)前面是公共页面路径,不受当前页面层级影响,直接从根路径写即可
<!DOCTYPE html><html><!-- 引用公共页面头部片段信息,双冒号(::)前后都要有空格,切记 --><head th:replace="common/head :: admin_head(user列表)"></head><body> OK <!-- 引用公共页面底部片段信息 --> <th:block th:replace="common/head :: admin_bottom"></th:block></body></html>
3. 引用说明我们来看一下页面源码,头部信息和主体都已经加载过来了
4. 项目目录结构如下5. 标签说明引用模板的时候可以使用th:insert或者th:replaceth:insert与th:replace 区别如下:
th:insert:将被引用的模板片段插⼊到自己的标签体中
th:replace:将被引用的模板片段替换掉自己
th:include:类似于 th:insert,⽽不是插⼊⽚段,它只插⼊此⽚段的内容(Thymeleaf 3.0 之后不再推荐使⽤)
th:block空标签详解
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。