如何在另一HTML页面插入childFragment.html中的Thymeleaf表格片段?
在Thymeleaf中引入HTML片段的方法
你可以通过Thymeleaf的片段引用语法,把childFragment.html里的firstTable片段插入到其他HTML页面中,下面是两种最常用的方式:
1. 使用th:insert(保留片段外层容器)
这种方式会保留片段的外层<div>,把整个片段内容插入到你指定的容器里:
<!-- 在目标页面需要插入的位置添加 --> <div th:insert="~{childFragment :: firstTable(fragment=${yourDataList})}"></div>
- 说明:
childFragment是你的片段文件名(如果文件在templates下的子目录,比如fragments文件夹,要写成fragments/childFragment):: firstTable指定要引用的片段名称- 括号里的
fragment=${yourDataList}是把目标页面中的数据列表yourDataList传递给片段里的${fragment}变量,保证片段里的th:each能正常遍历数据
2. 使用th:replace(替换当前容器)
如果不需要保留片段的外层<div>,可以用th:replace,它会直接用片段内容替换你写的这个容器:
<!-- 用片段内容替换当前div --> <div th:replace="~{childFragment :: firstTable(fragment=${yourDataList})}"></div>
额外注意事项
- 如果目标页面中的变量名和片段里的
fragment同名,可以简化写法,不用手动传参:<div th:insert="childFragment :: firstTable"></div> - 片段表达式的
~{}可以省略,直接写childFragment :: firstTable也能正常工作 - 务必保证文件路径正确,Thymeleaf默认从项目的
templates目录开始查找文件
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

