Thymeleaf读取国际化文本时出现??xxxxxx_zh_CN??问题
Posted seve
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thymeleaf读取国际化文本时出现??xxxxxx_zh_CN??问题相关的知识,希望对你有一定的参考价值。
最近在学习thymeleaf模板引擎,在使用th:text读取国际化文本时读取不到值,如下:
资源目录结构如下:
index.html内容:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p th:text="#{home.welcome}"></p>
</body>
</html>
home.properties内容:
home.welcome=你好,thymeleaf!
在度娘的帮助下,找到了问题的所在,spring.messages.basename默认值为messages,根据properties的位置修改为:
spring:
messages:
basename: msg/home
再次访问,值倒是能读取出来了,只是中文变成乱码了,结果如下,出现了编码问题:
在确认index.html的编码和spring.messages.encoding的值都为utf-8后,突然想到会不会是home.properties本身编码不对呢,马上打开idea的编码设置界面,果然,properties文件默认的编码为GBK:
修改默认编码为UTF-8后,再修改home.properties中变成乱码的内容,再次访问问题解决了:
以上是关于Thymeleaf读取国际化文本时出现??xxxxxx_zh_CN??问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring + Thymeleaf 时出现 java.lang.***Error
[Java中实现国际化] - 配合thymeleaf实现中英文自动切换(多语言)