thymeleaf html中动态填充thymeleaf html文件
时间: 2023-07-18 11:37:48 浏览: 146
thymeleaf框架通过java渲染html生成pdf
要在 Thymeleaf HTML 文件中动态填充其他 Thymeleaf HTML 文件的内容,可以使用 Thymeleaf 的 `th:replace` 属性。`th:replace` 属性可以将指定的 HTML 片段替换为另一个 HTML 文件中的内容。
例如,在 `header.html` 文件中定义了一个页面头部的 HTML 片段:
```
<header>
<h1>My Website</h1>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
```
现在假设我们有一个包含 `header.html` 内容的 Thymeleaf HTML 文件 `layout.html`,并且我们想在另一个 Thymeleaf HTML 文件 `page.html` 中引用 `layout.html`,并将 `header.html` 的内容动态填充到 `layout.html` 中。
可以使用以下代码在 `layout.html` 中定义 `header.html` 的位置:
```
<header th:replace="header.html :: header"></header>
```
在上面的代码中,`th:replace` 属性指定了要替换的 HTML 片段,并使用双冒号 `::` 操作符引用了 `header.html` 文件中的 `header` 片段。这将使 Thymeleaf 在渲染 `layout.html` 时将 `header.html` 文件中的 `header` 片段动态地替换为 `layout.html` 文件中的相应位置。
最后,在 `page.html` 文件中引用 `layout.html` 文件:
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>My Page</title>
</head>
<body>
<div th:replace="layout.html :: content">
<p>This is the content of my page.</p>
</div>
</body>
</html>
```
在上面的代码中,`th:replace` 属性指定了要替换的 HTML 片段,并使用双冒号 `::` 操作符引用了 `layout.html` 文件中的 `content` 片段。这将使 Thymeleaf 在渲染 `page.html` 时将 `layout.html` 文件中的 `content` 片段动态地替换为 `page.html` 文件中的相应位置,并将 `header.html` 文件中的 `header` 片段动态地填充到 `layout.html` 中。
阅读全文