在下面的示例中,我只想创建一个简单的 main.html
布局,和home.html
, about.html
.
子页面应该只包含自己的内容主体,而不是页眉或页脚内容。
这是我到目前为止所拥有的,但是我现在如何动态替换 container
内容与被点击的页面有关吗?
<html>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="/home">Home</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="/about">About</a></li>
</ul>
</div>
</div>
</div>
<div class="container">
<p>This should always get replaced when a link is clicked</p>
<!--<div th:replace="fragments/pagename :: pagename">-->
</div>
</body>
</html>
如果我只有一页,我可以将内容替换为 <div th:replace="fragments/about :: about">
,但是我怎样才能动态地做到这一点呢?
最佳答案
弃用消息来自 <html layout:decorate="layout">
。将其重写为<html layout:decorate="~{layout}">
修复了该消息。
无论如何,thymeleaf
似乎缺乏这个重要的功能,因此使用 thymeleaf-layout-dialect
布局方言是唯一的出路。
关于java - 如何在 Thymeleaf 中动态替换片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56364037/