1.首先需要在项目下建立资源文件
message.properties:
say = 你好 , {0}
message_en_US.properties:
say = hi , {0}
2.使用native2ascii将资源文件转化为中文资源文件
native2ascii.exe位于JDK目录下的bin下
故打开cmd需要定位到bin目录下
然后执行命令
XXX\bin>native2ascii XXX\message.properties XXX\message_zh_CN.properties
3.配置bean.xml
<!-- 默认id为messageSource,若为其他名字,在java文件中加载需要使用
MessageSource ms = (MessageSource) ctx.getBean("自定义ID");
ms.getMessage("name", value, Locale.getDefault);
-->
<bean
id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames"> <list> <value>message</value> </list> </property> </bean>4.测试
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
String[] a = {"ABC"}; String hello = ctx.getMessage("hello", a, Locale.getDefault()); System.out.println(hello);输出内容:
欢迎你, ABC
===============================================
备注:还有一种动态加载国际化资源文件,即定时刷新资源文件
引用的类需要改为 ReloadableResourceBundleMessageSource
bean.xml需要加入
<!-- 单位为秒 -->
<property name="cacheSeconds" value="5"/>