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);    便可。
相關文章
相關標籤/搜索