在引用Thymeleaf template fragment时,fragment部分的HTML内容出现了乱码问题。
问题重现
Template fragment定义文件test.html
<div th:fragment="copy">
<p>测试文字</p>
</div>
引用部分代码
<body>
<div th:include="test :: copy"></div>
</body>
代码include中的test和test.html名称对应,copy与th:fragment中的名称对应。
此时,fragment部分的中文会出现乱码问题。
解决方案
根据官方文档中的例子,修改Template fragment定义文件test.html,增加完整的HTML标签定义
<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<body>
<div th:fragment="copy">
<p>测试文字</p>
</div>
</body>
</html>
乱码问题解决,看来不能省事,去掉了多余的部分。
p.s. 尝试了代码,配置文件中各种utf-8编码的设置,均无效。可能是我姿势不对。没读源码之前还是老老实实的吧!
转载于:https://blog.51cto.com/jiaoyan/1622542