#JavaWeb-國際化java
##國際化開發概述編程
##合格的國際化軟件數組
##固定文本元素的國際化安全
###建立資源包和資源文件編碼
###資源文件的書寫格式線程
###編程實現固定文本的國際化code
ResourceBundle類提供了一個靜態方法getBundle,該方法用於裝載資源文件,並建立ResourceBundle實例:orm
Locale currentLocale = Locale.getDefault(); ResourceBundle myResources = ResourceBundle.getBundle(basename, currentLocale);對象
basename爲資源包基名(且必須爲完整路徑)。blog
若是與該locale對象匹配的資源包子類找不到。通常狀況下,則選用默認資源文件予以顯示
加載資源文件後, 程序就能夠調用ResourceBundle 實例對象的 getString 方法獲取指定的資源信息名稱所對應的值:String value = myResources.getString(「key");
在WEB應用中實現固定文本的國際化
##動態數據的國際化
###DateFormat類(國際化日期)
###NumberFormat類
###練習
###MessageFormat(動態文本)
以上字符串中包含了時間、數字、貨幣等多個與國際化相關的數據,對於這種字符串,可使用MessageFormat類對其國際化相關的數據進行批量處理
###模式字符串與佔位符
At 12:30 pm on jul 3,1998, a hurricance destroyed 99 houses and caused $1000000 of damage
模式字符串:
格式化模式字符串
MessageFormat類
String pattern = "On {0}, a hurricance destroyed {1} houses and caused " + "{2} of damage."; MessageFormat msgFmt = new MessageFormat(pattern,Locale.US);
//準備參數數組 String datetime = "Jul 3, 1998 12:30 PM"; Date date = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT, Locale.US).parse(datetime); Object [] msgArgs = {date, new Integer(99),new Double(1E7)};
//執行格式化操做 String result = msgFmt.format(msgArgs); System.out.println(result);
佔位符有三種方式書寫方式:
String pattern = "At {0, time, short} on {0, date}, a destroyed'\n'"+ "{1} houses and caused {2, number, currency} of damage."; MessageFormat msgFmt = new MessageFormat(pattern,Locale.US);
String datetimeString = "Jul 3, 1998 12:30 PM"; Date date = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT,Locale.US).parse(datetimeString); String event = "a hurricance"; Object []msgArgs = {date, event, new Integer(99), new Double(1E7)};
String result = msgFmt.format(msgArgs); System.out.println(result);
http://blog.163.com/meihua_can/blog/static/18543529220114221315952/