Spring国际化

来源:互联网 发布:unity3d 人物模型贴图 编辑:程序博客网 时间:2024/04/30 01:53

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
原创粉丝点击