各位親們,近期事情比較多,沒更新,come on!
1、<fmt:bundle>/<fmt:message>/<fmt:param>資源國際化標籤
java中使用ResourceBundle類解決i18n的問題,簡單的說就是把所有的中文提示都放在message_zh_CN.propertyies檔案裡,當中文系統訪問程式時自動顯示中文檔案裡的提示
在JSTL標籤庫中使用bundle、message、param來實現該功能
<fmt:bundle basename="messages"><fmt:message key=""prompt.hello"><fmt:param value="Heloworld"></fmt:param></fmt:message><fmt:bundle>
各屬性解析:basename是指定了資源檔的名稱(messages.properties)所有類似messages_XX.properties都被載入
bundle標籤內部使用message標籤顯示資源檔,key屬性對應子牙properties檔案資源的key屬性,如果資源能夠使用參數則使用param標籤傳入參數
大家是不是對“prompt.hello”不明白,
messages.properties
prompt.hello=hello;
這下是不是明白???
2、<fmt:setBundle>標籤
bundle只對內部標籤有效,而setBundle對所有的標籤有效
<fmt:setBundle basename="messages" var="resource" scoper="request"><fmt:message key=""prompt.hello" bundle=“${resource}”><fmt:param >Heloworld</fmt:param></fmt:message><fmt:setBundle>
看到區別沒,把資源地圖到ar指定的變數中去,scope是範圍
3、<fmt:formatNumber>顯示不同地區的各種資料格式
前面已經降到了各國數字表示的差異,比如:1,005在不同的國家得出不同的值,美國是1千零五,德國是一點零零五,差別是不是很大
這時候formatNumber作用就顯現了,它能根據不同的Locale輸出不同的格式
<fmt:formatNumber value="${number}" type="number" maxIntegerDigits="3"/>
formatNumber包含的屬性比較多,value要被格式的數字
type聲明數位類型(number,currency,percent),
pattern 數字格式(‘0000.00’等),
currencySymbol 輸出貨幣符號,currencyCode 貨幣代碼、groupingUsed 是否輸出分隔字元、
maxIntegerDigits 整數位元的最大值,超過就截掉高位 minIntegerDigits 整數位元的最小值 不夠則高位補0
maxFractionDigits 小數位元的最大值 超過則四捨五入minFractionDigits 小數位元最小值 不夠則低位補0
var 將格式化後的數字儲存到var標量中 scope 聲明變數範圍