spring中的ResourceBundleMessageSource

1 首先创建两个资源文件 
   messages_en_US.properties 
customer.name=Yong Mook Kim, age : {0}, URL : {1} 
messages_zh_CN.properties 
  customer.name=ufeffu6768u6728u91d1, age : {0}, URL : {1} 

2 bean文件的设置 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
    <bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basename">
            <value>localecustomermessages</value>
        </property>
    </bean>
 
</beans>

  其中basename指出了资源文件的位置 

3 测试 

public static void main(String[] args) {
 
        ApplicationContext context 
            = new ClassPathXmlApplicationContext("locale.xml");
 
        String name = context.getMessage("customer.name", 
                new Object[] { 28,"http://www.eeee.com" }, Locale.US);
 
        System.out.println("Customer name (English) : " + name);
 
        String namechinese = context.getMessage("customer.name", 
                new Object[] {28, "http://www.eeee.com" }, 
                                        Locale.SIMPLIFIED_CHINESE);
 
        System.out.println("Customer name (Chinese) : " + namechinese);
 
    }

4 另外一个ReloadableResourceBundleMessageSource,主要是用来定时刷新资源文件,可以不重启动 
    增加的属性为:  <property name="cacheSeconds" value="3000" /> 
   以秒为单位,如果-1表示用不刷新 

参考:http://blog.csdn.net/jackyrongvip/article/details/9218325

原文地址:https://www.cnblogs.com/sinoJay/p/3386535.html