Luc*_*cas 9 java spring internationalization
一些关于Spring国际化的文章讲述了如何交换传递语言环境等的消息,但我只发现包含一些消息的用例.
如何根据上下文组织和使用国际化文件?(验证,查看消息,默认消息,业务消息)
我知道Spring使用模式(定义的消息文件的名称)+ locale.例如:message_zh_CN.如何知道这种行为的每个上下文文件?
我认为它应该是:
resources
`-- messages
|-- validation
| |-- message_locale.properties
| `-- message_locale2.properties
|-- business
| |-- message_locale.properties
| `-- message_locale2.properties
`-- view
|-- message_locale.properties
`-- message_locale2.properties
Run Code Online (Sandbox Code Playgroud)
要么:
resources
`-- messages
|-- validation
| |-- validation_locale.properties
| `-- validation_locale2.properties
|-- business
| |-- business_locale.properties
| `-- business_locale2.properties
`-- view
|-- view_locale.properties
`-- view_locale2.properties
Run Code Online (Sandbox Code Playgroud)
Ali*_*ani 18
您可以MessageSource为所有这些不同的消息文件定义全局.这种方法使用该方法是实用的setBasenames:
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource =
new ReloadableResourceBundleMessageSource();
messageSource.setBasenames("classpath:/messages/business/message",
"classpath:/messages/validation/message",
"classpath:/messages/view/message");
return messageSource;
}
Run Code Online (Sandbox Code Playgroud)
如果您的消息密钥在所有文件中都是唯一的,则此方法很有意义,例如,business-12密钥仅在与业务相关的消息源中退出.否则,最好为MessageSource每个上下文定义一个并根据您的上下文注入它们:
@Bean
public MessageSource businessMessageSource() {
ReloadableResourceBundleMessageSource messageSource =
new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/messages/business/message");
return messageSource;
}
@Bean
public MessageSource validationMessageSource() {
ReloadableResourceBundleMessageSource messageSource =
new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/messages/validation/message");
return messageSource;
}
@Bean
public MessageSource viewMessageSource() {
ReloadableResourceBundleMessageSource messageSource =
new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/messages/view/message");
return messageSource;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6820 次 |
| 最近记录: |