java - th:replace 时添加了不必要的元素
问题描述
我正在th:replace
像这样在 Thymeleaf 中包含模板
master.html
<div class="faq-wrapper">
<div th:each="faq : ${faqs}" th:remove="tag">
<div th:replace="content-faq-card"></div>
</div>
</div>
内容-faq-card.html
<div class="faq-card">
...
</div>
我像这样初始化我的 templateRenderer:
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();
templateResolver.setTemplateMode("LEGACYHTML5");
templateResolver.setCharacterEncoding("UTF-8");
templateResolver.setPrefix("/WEB-INF/");
templateResolver.setSuffix(".html");
templateResolver.setCacheable(false);
TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
return templateEngine;
它工作正常,但如果我查看生成的 HTML,我会发现每次包含content-faq-card
额外的
<HTML><head></head><BODY>
<div class="faq-card">
...
</div>
</BODY></HTML>
它正确呈现,但 HTML 无效。为什么会发生这种包装?有没有办法避免这种情况?
解决方案
您需要定义您的<div class="faq-card">
as<div th:fragment="faq-card">
并将其引用为<div th:replace="content-faq-card :: faq-card"></div>
.
推荐阅读
- python - 导入后的不同类行为
- python - Python - 无缘无故的等号错误?
- sql - 表别名不返回结果
- github - 在为开源项目做贡献时,“pleaseverify”标签意味着什么?
- rust - Rust 期货中的 `then`、`and_then` 和 `or_else` 有什么区别?
- python - 迭代整个列表
- node.js - 如何通过 Node.js 的电报数据库库(TDLib)请求用户的所有聊天/组
- ssl - 将 IP 重定向到域问题
- python-3.x - 带有笔记本小部件 python ttk 的 Linenumber 小部件
- python - 如何在 Windows 上的单独进程中运行此功能?