Das*_*oot 3 rest spring internationalization
如果我想从特定用户票证解析参数setLocale,有没有办法将Spring国际化实现到休息服务?
工作流程如下所示:用户单击链接.服务获取用户特定的票证和设置.服务解析故障单并获取区域设置应该相应地设置此区域设置,然后服务以特定语言返回响应.
我发现的所有内容都只是简单地将语言环境与请求一起转移.另外,我并没有明白Spring如何映射所有这些名称.我是否必须给他变量,然后他用给定的语言来源映射这些名称?
您必须创建应用程序本地化属性文件并将它们放入类路径中,因此例如,您有两个文件:
application_en.properties
application_lt.properties
Run Code Online (Sandbox Code Playgroud)
一个用于英语,另一个用于立陶宛语.让我们说它们包含一个属性:
en:
application.name=Example
lt:
application.name=Pavyzdys
Run Code Online (Sandbox Code Playgroud)
然后,您必须在spring配置文件中定义消息源:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="application"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
请注意,basename是application以及超出下划线的内容:在我们的示例中en,lt您需要为消息源提供本地化以获取本地化属性.
例如:
假设你在某些bean中成功自动装配了spring的消息源:
@Autowired
private MessageSource messageSource;
Run Code Online (Sandbox Code Playgroud)
你有一个方法:
public String getMessage(String code, String locale) {
return messageSource.getMessage(code, null, new Locale(locale));
}
Run Code Online (Sandbox Code Playgroud)
所以当你打电话时:
getMessage("application.name", "en") - 它将为您返回英语语言的"示例".
getMessage("application.name", "lt") - 它会让你回到"Pavyzdys"的立陶宛语.
希望这是有道理的.
| 归档时间: |
|
| 查看次数: |
7262 次 |
| 最近记录: |