如何针对Thymeleaf模板抽取公共页面

本文介绍在SpringBoot框架下,使用Thymeleaf模板引擎实现页面组件化的方法,包括如何利用th:replace、th:include和th:insert属性进行公共页面元素的抽取,以及如何定义和使用th:fragment属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:https://blog.51cto.com/3058076/2457659

对于公共页面(导航栏nav、页头head、页尾footer)的抽取有三种方式:
        1)基于iframe进行抽取,这种方式很有效,但比较老了,另外为了页面的自适应性,还得做不少工作;
        2)如果是jsp页面,则可以通过<%@ include file="head.jsp"%>进行抽取
        3)利用ajax进行页面加载,但有不少问题
       基于Spring Boot后台开发框架,JSP虽然还是可以用,但已经强烈推荐使用Thymeleaf模板了,这个时候问题就来了,Thymeleaf模板是html页面,又不想通过iframe或者ajax的方式,那我们该如何做?
       其实,Thymeleaf已经给我们提供了极好的方式,并且不仅仅是页面,还可以对样式CSS、Javascript进行抽取。
       使用Thymeleaf模板的 th:replace、th:includeth:insert属性,借助th:fragment属性来实现。
th:replace----不保留自己的主标签,保留th:fragment的主标签
th:include----保留自己的主标签,不保留th:fragment的主标签
th:insert----保留自己的主标签,也保留th:fragment的主标签
1、公共抽取部分的页面定义,如mycommon.html
如何针对Thymeleaf模板抽取公共页面
说明:
1)<head th:fragment="commonHeader(title)">
<title th:text="${title}"></title>其中的${title},这样页面的标题就灵活了。
2)一般在页面头部引入CSS,而在页尾引入JS,这样保证页面出现在用户面前样式就已经加载,提高用户体验
2、在具体页面中引入公共部分,如mydemo.html
如何针对Thymeleaf模板抽取公共页面
说明:
th:replace,include,th:insert三者的使用形式皆如:th:include="模板路径::id"
    更详细的细节,大家可以看我的视频介绍:https://edu.51cto.com/course/21185.html ,希望对大家有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值