springmvc国际化,分别在页面上和controller中获取国际化资源
程序员文章站
2022-05-24 11:29:13
...
国际化资源文件:
资源文件中的配置:
i18n.username=\u7528\u6237\u540D
i18n.password=\u5BC6\u7801
需要在springmvc从配置文件中配置才能使用,名字其中的basename的值需要和国际化资源文件的名字一样,资源文件的名字是i18n,在配置文件中的basenamevalue值就是i18n,具体配置如下
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="i18n"></property>
</bean>
在页面上使用jstl的formatting标签显示国际化信息
<fmt:message key="i18n.username"></fmt:message>
想要在controller中获取国际化信息,方法如下:
在controller中注入ResourceBundleMessageSource,属性名为messageSource,调用ResourceBundleMessageSource的getMessage方法,该方法需要三个参数,国际化信息的Key值,参数,和Locale,其中Locale可以直接在参数中注入。
@Autowired
private ResourceBundleMessageSource messageSource;
@RequestMapping("/testI18n")
public String testI18n(Locale locale) {
String message = messageSource.getMessage("i18n.username", null, locale);
System.out.println(message);
return "i18n1";
}