国际化三步
(1)编写国际化资源文件。
国际化资源文件的文件名总是 [basename]_语言代码_国家代码.properties(例如mess_zh_CN.properties)
(2)加载国际化资源文件
容器中一个名为messageSource,类型为ResourceBundleMessageSource的Bean用于管理国际化资源文件。(不能改)
该类提供了如下两个方法:
- setBasename
- setBasenames
setBeannames配置稍微复杂点:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="defaultEncoding" value="gbk"/>
<property name="basenames">
<list>
<value>message1</value>
<value>message2</value>
<value>message3</value>
</list>
</property>
</bean>
(3)根据key去获取国际化消息。
ApplicationContext提供了如下两个用于国际化的方法:
- String getMessage(String key, Object[] args, Locale loc)
- String getMessage (String key, Object[] args, String default, Locale loc)
key:需要国际化的字符串
args:参数,如果没有就指定为null
default:参数默认值
loc:指定地理环境(一般用Locale.getDefault();来获取当前操作系统的地理环境)