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中变成乱码的内容,再次访问问题解决了:

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=36pt0wzn7g4kw


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM