示例代码如下:
//配置文件config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 负责国际化支持 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<!-- 国际化支持的定义在文件名为messages的文件中 -->
<value>messages</value>
</property>
</bean>
</beans>
//messages_en_US.properties
HelloWorld=Language {0} Time {1}
//messages_zh_CN.properties
// 中文可通过 cmd 下的 native2ascii messages_zh_CN.properties messages_zh_CN.txt
// 进行转换
HelloWorld=/u95ee/u5019/u8bed: {0} /u95ee/u5019/u65f6/u95f4: {1}
//TestHelloWorld.java
package com.gc.test;
import java.util.Calendar;
import java.util.Locale;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class TestHelloWorld {
public static void main(String[] args) throws InstantiationException,
IllegalAccessException, ClassNotFoundException {
//通过ApplicationContext获取配置文件
ApplicationContext actx = new FileSystemXmlApplicationContext("config.xml");
//设定当前时间
Object[] objs = new Object[]{"HelloWorld",Calendar.getInstance().getTime()};
//国际化支持 英文显示
String msg = actx.getMessage("HelloWorld",objs,Locale.US);
System.out.println("msg: "+msg);
//国际化支持 中文显示
msg = actx.getMessage("HelloWorld",objs,Locale.CHINA);
System.out.println("msg: "+msg);
}
}
运行结果:
msg: Language HelloWorld Time 10/31/09 8:21 PM
msg: 问候语: HelloWorld 问候时间: 09-10-31 下午8:21