Spring国际化

spring中国际化,一般是将信息放在配置文件中

配置文件的格式如下:

<资源名>_<语言代码>_<国家/地区代码>.properties

 

 

方法1:

ResourceBundle

直接定位配置文件的位置

用法:



Java代码 复制代码 收藏代码
1.ResourceBoundle rb1 = ResourceBoundle.getBundle("com/youyu4/i18n/resource", Locale.US);  
2.ResourceBoundle rb2 = ResourceBoundle.getBundle("com/youyu4/i18n/resource", Locale.CHINA);  


 

 

方法2:

MessageSource(接口)

ResourceBundleMessageSource(实现类)

配置文件的位置定义在XML中,然后直接在ApplicationContext中取就好

用法:



Xml代码 复制代码 收藏代码
1.<bean id="myResource" class="org.springframework.context.support.ResourceBundleMessageSource">  
2.    <!--通过基名指定资源,相对于类根路径-->  
3.    <property name="basenames">  
4.        <list>  
5.            <value>com/youyu4/i18n/resource</value>  
6.        </list>  
7.     </property>  
8.</bean>  


 



Java代码 复制代码 收藏代码
1.String[] configs = {"com/youyu4/i18n/beans.xml"};  
2.ApplicationContext ctx = new ClassPathXmlApplicationContext(configs);  
3.  
4.//获取MessageSource的Bean  
5.MessageSource ms = (MessageSource)ctx.getBean("myResource");  
6.Object[] params = {"John", new GregorianCalendar().getTime()};  
7.  
8.//获取格式化的国际化信息  
9.String str1 = ms.getMessage("morning", params, Locale.US);  
10.String str1 = ms.getMessage("afternoon", params, Locale.CHINA);  


 

 

 

方法3:

MessageSource(接口)

ReloadableResourceBundleMessageSource(实现类)

这个跟方法2类似,但能够定期刷新资源

用法:



Xml代码 复制代码 收藏代码
1.<bean id="myResource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  
2.    <!--通过基名指定资源,相对于类根路径-->  
3.    <property name="basenames">  
4.        <list>  
5.            <value>com/youyu4/i18n/resource</value>  
6.        </list>  
7.     </property>  
8.     <!--刷新资源文件,以秒为单位-->  
9.     <property name="cacheSeconds" value="5"/>  
10.</bean>  


 java代码一样

 

 

 

 

下面可以使用容器级的MessageSource配置:

只需要配置文件中,<bean id="messageSource"

java代码中就不用写,MessageSource ms = (MessageSource)ctx.getBean("myResource");

注意:

这时id一定为MessageSource,否则报NoSuchMessageException
获取【下载地址】 springmvc整合mybatis框架源码 bootstrap html5 mysql oracle


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值