我是在按照这个教程操作:http://www.thymeleaf.org/doc/layouts.html(到达Thymeleaf Layout Dialect一节)。
其中有一个例子:
在上面的例子中,页脚和页眉通过
基本上,我想用
最后是我的 /html/components/head.htm 文件:
<!DOCTYPE html>
<html>
<head>
<!--/* Each token will be replaced by their respective titles in the resulting page. */-->
<title layout:title-pattern="$DECORATOR_TITLE - $CONTENT_TITLE">Task List</title>
...
</head>
<body>
<!--/* Standard layout can be mixed with Layout Dialect */-->
<div th:replace="fragments/header :: header">
...
</div>
<div class="container">
<div layout:fragment="content">
...
</div>
<div th:replace="fragments/footer :: footer">© 2014 The Static Templates</div>
</div>
</body>
</html>
在上面的例子中,页脚和页眉通过
th:replace
标签进行替换,而布局文件中<head>
标签具有<title>
标签。基本上,我想用
th:replace
替换整个<head>
标签。因此,我的布局文件如下:<!DOCTYPE html>
<html>
<head th:replace="/html/components/head :: head">
</head>
<body>
<div layout:fragment="content">
</div>
...
<div th:replace="/html/components/footer :: footer" />
</body>
<html>
我的内容文件:
<!DOCTYPE html>
<html layout:decorator="/html/layouts/layout">
<head>
<title>My content title</title>
</head>
<body>
<div layout:fragment="content">
...
</div>
</body>
</html>
最后是我的 /html/components/head.htm 文件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head th:fragment="head">
<meta charset="utf-8" />
<title layout:title-pattern="$CONTENT_TITLE">Layout Title should be replaced by Content Title!</title>
...
</head>
<body>
</body>
</html>
内容没问题。页脚和页头已按预期从文件中替换,但页面标题为空!
我得到:
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<title></title>
...
出了什么问题?