我有一个奇怪的问题,当我使用replace或include时,我的某些html文件没有包含在内。什么会导致这个?
了header.html
<header id="header" xmlns:th="http://www.thymeleaf.org">
<div th:replace="/blocks/topbar :: topbar"></div>
</header>
topbar.html
<div class="top-bar">
<div class="container">
<div class="row">
<div class="col-sm-6 col-xs-4">
<div class="top-number"><p><i class="fa fa-phone-square"></i> +0123 456 70 90</p></div>
</div>
<div class="col-sm-6 col-xs-8">
<div class="social">
<ul class="social-share">
<li><a href="#"><i class="fa fa-facebook"></i></a></li>
</ul>
</div>
</div>
</div>
</div><!--/.container-->
</div><!--/.top-bar-->
错误:
org.thymeleaf.exceptions.TemplateInputException: Error resolving fragment: "~{'/blocks/topbar' :: topbar}": template or fragment could not be resolved (template: "blocks/header" - line 3, col 10)
答案 0 :(得分:4)
th:fragment="topbar"
中没有topbar.html
。
额外的<div>
可以解决您的问题。
<div th:fragment="topbar">
<!--fragment div start-->
<div class="top-bar">
<div class="container">
<div class="row">
<div class="col-sm-6 col-xs-4">
<div class="top-number">
<p><i class="fa fa-phone-square"></i> +0123 456 70 90</p>
</div>
</div>
<div class="col-sm-6 col-xs-8">
<div class="social">
<ul class="social-share">
<li><a href="#"><i class="fa fa-facebook"></i></a>
</li>
</ul>
</div>
</div>
</div>
</div>
<!--/.container-->
</div>
<!--/.top-bar-->
</div>
<!--fragment div end-->
&#13;
答案 1 :(得分:0)
你并不总是需要一个片段,你可以使用&#34; .top-bar&#34;而不是&#34; topbar&#34;:
<div th:replace="/blocks/topbar :: .top-bar"></div>
班级选择器是完全有效的,你在百里香中有更多的选择器可能性,见这里:http://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#appendix-c-markup-selector-syntax