日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring 中的国际化Message的简单例子(ApplicationContext) 不跟框架集成的版本

發布時間:2023/12/1 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring 中的国际化Message的简单例子(ApplicationContext) 不跟框架集成的版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,建立一個描述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

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Spring 中的国际化Message的简单例子(ApplicationContext) 不跟框架集成的版本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。