我正在尝试使用片段设置页面,并且在文字方面遇到麻烦。
index.html模板
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="~{main_components::common_header('Home Page',_)}">
</head>
<body>
<p>Get your greeting <a href="/greeting">here</a></p>
<div th:insert="~{main_components::footer}"></div>
</body>
</html>
主要组件模板:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:fragment="common_header(title,links)" >
<title th:replace="${title}">The awesome application</title>
<!-- Common styles and scripts -->
<link rel="stylesheet" type="text/css" media="all" th:href="@{/css/awesomeapp.css}">
<link rel="shortcut icon" th:href="@{/images/favicon.ico}">
<script type="text/javascript" th:src="@{/sh/scripts/codebase.js}"></script>
<!--/* Per-page placeholder for additional links */-->
<th:block th:replace="${links}"/>
</head>
<body>
<div th:fragment="footer">
© 2019 EBP :)
</div>
</body>
</html>
这里的问题是文字'Home Page'
似乎被视为对另一个片段的引用,从而在尝试访问index
时导致以下错误:
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [Home Page], template might not exist or might not be accessible by any of the configured Template Resolvers (template: "main_components" - line 7, col 12)
我目前基于This Spring MVC Tutorial使用非常基本的设置。我该怎么做才能使文字作为参数正确传递?
答案 0 :(得分:0)
想通了...
th:replace
旨在替换整个标签,这将在寻找替换它的内容。我将其切换为使用th:text
,它具有理想的效果。