spring中的ResourceBundleMessageSource复习

来源:互联网 发布:淘宝助理干什么用的 编辑:程序博客网 时间:2024/06/01 09:16
复习下spring中的资源文件,特别是ResourceBundleMessageSource,例子如下 

1 首先创建两个资源文件 
   messages_en_US.properties 
customer.name=Yong Mook Kim, age : {0}, URL : {1} 
messages_zh_CN.properties 
  customer.name=\ufeff\u6768\u6728\u91d1, 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>locale\customer\messages</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表示用不刷新 
0 0
原创粉丝点击