W.Z*_*hou 5 spring spring-mvc internationalization spring-boot
尝试用spring i18n为我的应用实现国际化,但是在调用messageSource.getMessage()时,抛出noSuchMessageException异常,具体如下:
detailMessage = "No message found under code 'welcome' for locale 'en_US'."
cause = org.springframework.context.NoSuchMessageException: No message found under code 'welcome' for locale 'en_US'.
Run Code Online (Sandbox Code Playgroud)
并且,在 application.yml 中,spring i18n basename 配置为:
spring:
messages:
basename: i18n/messages
Run Code Online (Sandbox Code Playgroud)
另外,在目录:src/main/resources中,有三个属性:
resources
- i18n.messages
- messages.properties
- messages_en_US.properties
- messages_zh_CN.properties
Run Code Online (Sandbox Code Playgroud)
在控制器中,我尝试通过调用 getMessage("key", null, locale) 来获取消息,以下是相关代码:
import org.springframework.context.MessageSource;
@Autowired
private MessageSource messageSource;
Locale locale = LocaleContextHolder.getLocale();
String str1 = messageSource.getMessage("welcome", null, locale);
Run Code Online (Sandbox Code Playgroud)
在属性文件中,我为 key- welcome设置了值。
为了实现国际化,我认为它应该可以很好地与上述配置和代码配合使用,但是我总是得到 noSuchMessageException,我不知道这个问题是怎么回事,有人能帮我吗?
这是由于找不到属性文件,根据属性文件结构,application.yml 应该是这样的: spring.messages.basename: i18n/messages/messages
| 归档时间: |
|
| 查看次数: |
7357 次 |
| 最近记录: |