首先,建立一個描述message的XML文件,名為messages.xml?
????
<?xml version="1.0" encoding="UTF-8"?>?
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">?
<beans>?
??? <!-- 資源國際化測試 -->?
??? <bean id="messageSource"??????? class="org.springframework.context.support.ReloadableResourceBundleMessageSource">??????? <property name="basenames">?
??????????? <list>?
??????????????? <value>org/rjstudio/spring/properties/messages</value>?
??????????? </list>?
??????? </property>?
??? </bean>?
</beans>?
????
??? 這個Bean的id是定死的,只能為“messageSource”。這里的Class需要填入MessageSource接口的實現。其中,在我看的書中只提及了兩個類,一個是:ResourceBundleMessageSource,另一個則是ReloadableResourceBundleMessageSource。其中,后者提供了無需重啟就可重新加載新配置的特性。?
????
??? list節點的value子節點中的body值“org/rjstudio/spring/properties/messages”,是指org.rjstudio.spring.proerties包下的以messages為主要名稱的properties文件。比如說,以Locale為zh_CN為例,Spring會自動在類路徑中在org.rjstudio.spring.properties包下按照如下順序搜尋配置文件并進行加載:?
????
????
????
??? 接下來,讓我們在org.rjstudio.spring.properties下,建立兩個messages的屬性文件。一個名為messages_zh_CN.properties,另一個為messages_en_US.properties,分別對應國際化中的中國和美國。?
????
??? 在這兩個屬性文件中分別建立一個userinfo屬性。?
??????? 中國為:userinfo=當前登陸用戶[{0}] 登陸時間[{1}]?
??????? 美國為:userinfo=current login user:[{0}] login time:[{1}]?
????
??? 好了,一切就緒,接下來可以寫段代碼來測試了。。建個類,寫個測試Main方法。?
????
????
????
????
??? public class MessageTest {?
??????? public static void main(String[] args) {?
??????????? ApplicationContext ctx = new ClassPathXmlApplicationContext("messages.xml");?
??????????? Object[] arg = new Object[] { "Erica", Calendar.getInstance().getTime() };?
??????????? String msg = ctx.getMessage("userinfo", arg,Locale.CHINA);?
??????????? System.out.println("Message is ===> " + msg);?
??????? }?
??? }?
????
??? 最后輸出的結果是:Message is ===> 當前登錄用戶:[Erica] 登錄時間:[07-6-8 上午10:20]?
????
??? ctx.getMessage("userinfo", arg,Locale.getDefault());這個方法,傳入的三個參數,第一個是properties文件中對應的名。arg為一個對象數組,我們在properties里面放置了兩個變量,[{0}]和[{1}],Spring會為我們給它們賦值。而最后則需要傳入一個Local。這里用 Locale.CHINA代表中國。如果我們用Locale.US,則輸出會變為:?
????
??? Message is ===> current login user:[Erica] login time:[6/8/07 10:59 AM]?
????
??? OK,到這里,就到這里。
轉載于:https://www.cnblogs.com/toSeeMyDream/p/4108651.html