SpringMVC国际化_我的小总结

SpringMVC的国际化也是挻好用的,主要经过下面2个步骤实现基本的功能。 java

1、先在XML文件中配置上以下一段: web

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="net.kuhyygy.web.i18n.resource.Messages" />
</bean>


说明:
       一、上面的“value”里是找项目里src目录的路径。Messages是路径“net.kuhyygy.web.i18n.resource”下的各文件的开头字符,以下图所示

 二、Messages后面必须加上相应的地区标识符,格式必须如上图所示。

        三、若是上图的properties文件放到classpath根目录下,最初那段XML的配置写成下面那样便可,spring会自动寻找对应的文件。
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="Messages" />
        </bean>


注:不少生产系统都须要长时间持续运行,系统重启会给运行带来很大的负面影响。这时,经过该实现类就能够解决国际化信息更新的问题。
 
<bean id=" messageSource "  class="org.springframework.context.support. ReloadableResourceBundleMessageSource">
        <property name="basenames">
           <list>
             <value> net.kuhyygy.web.i18n.resource.Messages</value>
           </list>
        </property>
        <!--① 刷新资源文件的周期,以秒为单位-->
        <property name="cacheSeconds" value="5"/> 
  </bean>

2、调用
先注入MesssageSource,
@Autowired
private MessageSource msg;
String s = msg.getMessage("SystemError", new Object[]{}, Locale.US);
String s2 = msg.getMessage("SystemError", new Object[]{}, Locale.CHINA);    便可。
相关文章
相关标签/搜索