Spring boot 在thymeleaf模板中使用th:block(片段)

Spring boot 在thymeleaf模板中使用th:block(片段),spring-boot,thymeleaf,Spring Boot,Thymeleaf,我对百里香和春靴还是有点陌生 我一直在尝试使用thymeleaf片段将一个包含所有javascript映射的块注入到页面dashboardAdmin.html中 我已经能够使用常规片段正确地注入包含块的片段,但是由于我必须注入html模板中任何标记都不包含的多个脚本标记,所以我无法使用常规方法 我发现了一个类似的问题,并遵循了提供的具体解决方案,但仍然没有成功,我添加了依赖项。也许有某种语法错误,我不知道。 既然我找不到太多关于这方面的参考资料,有人能给我一些建议吗 这是fragment.htm

我对百里香和春靴还是有点陌生

我一直在尝试使用thymeleaf片段将一个包含所有javascript映射的块注入到页面dashboardAdmin.html中

我已经能够使用常规片段正确地注入包含块的片段,但是由于我必须注入html模板中任何标记都不包含的多个脚本标记,所以我无法使用常规方法

我发现了一个类似的问题,并遵循了提供的具体解决方案,但仍然没有成功,我添加了依赖项。也许有某种语法错误,我不知道。 既然我找不到太多关于这方面的参考资料,有人能给我一些建议吗

这是fragment.html,其中包含要插入到其他页面中的所有模板

<body>
<th:block layout:fragment="script">
    <script th:src="@{/vendor/login_v14/vendor/jquery/jquery-3.2.1.min.js}"></script>
    <!-- Bootstrap 4 -->
    <script th:src="@{/vendor/bootstrap/js/bootstrap.bundle.min.js}"></script>
    <!-- jsGrid -->
    <script th:src="@{/vendor/jsgrid/demos/db.js}"></script>
    <script th:src="@{/vendor/jsgrid/jsgrid.min.js}"></script>
    <!-- AdminLTE App -->
    <script th:src="@{/js/main.js}"></script>
</th:block>
</body>

虽然这是我正在向-dashboardAdmin.html注入块的页面模板



如果有人能告诉我我做错了什么,我将不胜感激:D

我认为您可以简化HTML以获得所需内容

dashboardAdmin.html
中,在要放置片段的位置插入类似以下内容:

<div th:replace = "fragment.html :: script1">
</div>
在我的例子中,这是片段文件的全部内容,但显然您可以用您问题中的所有HTML替换我的

为了便于说明,我在上面的示例中包含了两个单独命名的片段

“script1”块的内容(但不是包含块本身)将插入到
dashboardAdmin.html
页面中


如果我正确理解了你的问题,事情应该就这么简单。基本上,这种方法应该与您提到的将片段插入其他HTML文件的方法没有什么不同。

谢谢!我已经试过你的建议了,效果很好。我只是不明白如何准确地阻止,文件路径是个问题。
<div th:replace = "fragment.html :: script1">
</div>
<th:block th:fragment="script1">
    <div>your content here, instead of this div</div>
</th:block>

<th:block th:fragment="script2">
    <div>your content here, instead of this div</div>
</th:block>