<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JSTL詳解(五)

    9.5 ?I18N formatting 標(biāo)簽庫

    看到 I18N 就應(yīng)該想到知識(shí)“國際化”, I18N formatting 標(biāo)簽庫就是用于在 JSP 頁面中做國際化的動(dòng)作。在該標(biāo)簽庫中的標(biāo)簽一共有 12 個(gè),被分為了兩類,分別是:

    q???????? 國際化核心標(biāo)簽: <fmt:setLocale> <fmt:bundle> <fmt:setBundle> <fmt:message> <fmt:param> <fmt:requestEncoding>

    q???????? 格式化標(biāo)簽: <fmt:timeZone> <fmt:setTimeZone> <fmt:formatNumber> <fmt:parseNumber> <fmt:formatDate> <fmt:parseDate>

    下面只選擇其中常見的一些標(biāo)簽和屬性進(jìn)行介紹。

    9.5.1? 用于設(shè)置本地化環(huán)境的 <fmt:setLocale> 標(biāo)簽

    <fmt:setLocale> 標(biāo)簽用于設(shè)置 Locale 環(huán)境。它的屬性和描述如表 9.17 所示:

    9.17   <fmt:setLocale> 標(biāo)簽屬性和說明

    屬性

    描述

    value

    Locale 環(huán)境的指定,可以是 java.util.Locale String 類型的實(shí)例

    scope

    Locale 環(huán)境變量的作用范圍(可選)

    下面看一個(gè)示例:

    <fmt:setLocale value="zh_TW"/>

    表示設(shè)置本地環(huán)境為繁體中文。

    9.5.2? 用于資源文件綁定的 <fmt:bundle> <fmt:setBundle> 標(biāo)簽

    這兩組標(biāo)簽用于資源配置文件的綁定,唯一不同的是 <fmt:bundle> 標(biāo)簽將資源配置文件綁定于它標(biāo)簽體中的顯示, <fmt:setBundle> 標(biāo)簽則允許將資源配置文件保存為一個(gè)變量,在之后的工作可以根據(jù)該變量來進(jìn)行。

    根據(jù) Locale 環(huán)境的不同將查找不同后綴的資源配置文件,這點(diǎn)在國際化的任何技術(shù)上都是一致的,通常來說,這兩種標(biāo)簽單獨(dú)使用是沒有意義的,它們都會(huì)與 I18N formatting 標(biāo)簽庫中的其他標(biāo)簽配合使用。它們的屬性和描述如表 9.18 所示:

    9.18   <fmt:bundle> <fmt:setBundle> 標(biāo)簽屬性和說明

    屬性

    描述

    basename

    資源配置文件的指定,只需要指定文件名而無須擴(kuò)展名,二組標(biāo)簽共有的屬性

    var

    <fmt:setBundle> 獨(dú)有的屬性,用于保存資源配置文件為一個(gè)變量

    scope

    變量的作用范圍

    下面看一個(gè)示例

    <fmt:setLocale value="zh_CN"/>

    <fmt:setBundle basename="applicationMessage" var="applicationBundle"/>

    該示例將會(huì)查找一個(gè)名為 applicationMessage_zh_CN.properties 的資源配置文件,來作為顯示的 Resource 綁定。

    9.5.3? 用于顯示資源配置文件信息的 <fmt:message> 標(biāo)簽

    用于信息顯示的標(biāo)簽,將顯示資源配置文件中定義的信息。它的屬性和描述如表 9.19 所示:

    9.19   <fmt:message> 標(biāo)簽屬性和說明

    屬性

    描述

    key

    資源配置文件的“鍵”指定

    bundle

    若使用 <fmt:setBundle> 保存了資源配置文件,該屬性就可以從保存的資源配置文件中進(jìn)行查找

    var

    將顯示信息保存為一個(gè)變量

    scope

    變量的作用范圍

    下面看一個(gè)示例:

    <fmt:setBundle basename="applicationMessage" var="applicationBundle"/>

    <fmt:bundle basename="applicationAllMessage">

    ???????? <fmt:message key="userName" />

    ???????? <p>

    ???????? <fmt:message key="passWord" bundle="${applicationBundle}" />

    </fmt:bundle>

    該示例使用了兩種資源配置文件的綁定的做法,“ applicationMessage ”資源配置文件利用 <fmt:setBundle> 標(biāo)簽被賦于了變量“ applicationBundle ”,而作為 <fmt:bundle> 標(biāo)簽定義的“ applicationAllMessage ”資源配置文件作用于其標(biāo)簽體內(nèi)的顯示。

    q???????? 第一個(gè) <fmt:message> 標(biāo)簽將使用“ applicationAllMessage ”資源配置文件中“鍵”為“ userName ”的信息顯示。

    q???????? 第二個(gè) <fmt:message> 標(biāo)簽雖然被定義在 <fmt:bundle> 標(biāo)簽體內(nèi),但是它使用了 bundle 屬性,因此將指定之前由 <fmt:setBundle> 標(biāo)簽保存的“ applicationMessage ”資源配置文件,該“鍵”為“ passWord ”的信息顯示。

    9.5.4? 用于參數(shù)傳遞的 <fmt:param> 標(biāo)簽

    <fmt:param> 標(biāo)簽應(yīng)該位于 <fmt:message> 標(biāo)簽內(nèi),將為該消息標(biāo)簽提供參數(shù)值。它只有一個(gè)屬性 value

    <fmt:param> 標(biāo)簽有兩種使用版本,一種是直接將參數(shù)值寫在 value 屬性中,另一種是將參數(shù)值寫在標(biāo)簽體內(nèi)。

    9.5.6? 用于為請(qǐng)求設(shè)置字符編碼的 <fmt:requestEncoding> 標(biāo)簽

    <fmt:requestEncoding> 標(biāo)簽用于為請(qǐng)求設(shè)置字符編碼。它只有一個(gè)屬性 value ,在該屬性中可以定義字符編碼。

    9.5.7? 用于設(shè)定時(shí)區(qū)的 <fmt:timeZone> <fmt:setTimeZone> 標(biāo)簽

    這兩組標(biāo)簽都用于設(shè)定一個(gè)時(shí)區(qū)。唯一不同的是 <fmt:timeZone> 標(biāo)簽將使得在其標(biāo)簽體內(nèi)的工作可以使用該時(shí)區(qū)設(shè)置, <fmt:setBundle> 標(biāo)簽則允許將時(shí)區(qū)設(shè)置保存為一個(gè)變量,在之后的工作可以根據(jù)該變量來進(jìn)行。它們的屬性和描述如表 9.20 所示:

    9.20   <fmt:timeZone> <fmt:setTimeZone> 標(biāo)簽 屬性和說明

    屬性

    描述

    value

    時(shí)區(qū)的設(shè)置

    var

    <fmt:setTimeZone> 獨(dú)有的屬性,用于保存時(shí)區(qū)為一個(gè)變量

    scope

    變量的作用范圍

    9.5.8? 用于格式化數(shù)字的 <fmt:formatNumber> 標(biāo)簽

    <fmt: formatNumber > 標(biāo) 簽用于格式化數(shù)字。它的屬性和描述如表 9.21 所示:

    9.21   <fmt:formatNumber> 標(biāo)簽屬性和說明

    屬性

    描述

    value

    格式化的數(shù)字,該數(shù)值可以是 String 類型或 java.lang.Number 類型的實(shí)例

    type

    格式化的類型

    pattern

    格式化模式

    var

    結(jié)果保存變量

    scope

    變量的作用范圍

    maxIntegerDigits

    指定格式化結(jié)果的最大值

    minIntegerDigits

    指定格式化結(jié)果的最小值

    maxFractionDigits

    指定格式化結(jié)果的最大值,帶小數(shù)

    minFractionDigits

    指定格式化結(jié)果的最小值,帶小數(shù)

    <fmt:formatNumber> 標(biāo)簽實(shí)際是對(duì)應(yīng) java.util.NumberFormat 類, type 屬性的可能值包括 currency (貨幣)、 number (數(shù)字)和 percent (百分比)。

    下面看一個(gè)示例。

    <fmt:formatNumber value="1000.888" type="currency" var="money"/>

    該結(jié)果將被保存在“ money ”變量中,將根據(jù) Locale 環(huán)境顯示當(dāng)?shù)氐呢泿鸥袷健?/span>

    9.5.9? 用于解析數(shù)字的 <fmt:parseNumber> 標(biāo)簽

    <fmt:parseNumber> 標(biāo)簽用于解析一個(gè)數(shù)字,并將結(jié)果作為 java.lang.Number 類的實(shí)例返回。 <fmt:parseNumber> 標(biāo)簽看起來和 <fmt:formatNumber> 標(biāo)簽的作用正好相反。它的屬性和描述如表 9.22 所示:

    9.22   <fmt:parseNumber> 標(biāo)簽屬性和說明

    屬性

    描述

    value

    將被解析的字符串

    type

    解析格式化的類型

    pattern

    解析格式化模式

    var

    結(jié)果保存變量,類型為 java.lang.Number

    scope

    變量的作用范圍

    parseLocale

    以本地化的形式來解析字符串,該屬性的內(nèi)容應(yīng)為 String java.util.Locale 類型的實(shí)例

    下面看一個(gè)示例。

    <fmt:parseNumber value="15%" type="percent" var="num"/>

    解析之后的結(jié)果為“ 0.15 ”。

    9.5.10? 用于格式化日期的 <fmt:formatDate> 標(biāo)簽

    <fmt:formatDate> 標(biāo)簽用于格式化日期。它的屬性和描述如表 9.23 所示:

    9.23   <fmt:formatDate> 標(biāo)簽屬性和說明

    屬性

    描述

    value

    格式化的日期,該屬性的內(nèi)容應(yīng)該是 java.util.Date 類型的實(shí)例

    type

    格式化的類型

    pattern

    格式化模式

    var

    結(jié)果保存變量

    scope

    變量的作用范圍

    timeZone

    指定格式化日期的時(shí)區(qū)

    <fmt:formatDate> 標(biāo)簽與 <fmt:timeZone> <fmt:setTimeZone> 兩組標(biāo)簽的關(guān)系密切。若沒有指定 timeZone屬性, 也可以通過 <fmt:timeZone> <fmt:setTimeZone> 兩組標(biāo)簽設(shè)定的時(shí)區(qū)來格式化最后的結(jié)果。

    9.5.11? 用于解析日期的 <fmt:parseDate> 標(biāo)簽

    <fmt:parseDate> 標(biāo)簽用于解析一個(gè)日期,并將結(jié)果作為 java.lang.Date 類型的實(shí)例返回。 <fmt:parseDate> 標(biāo)簽看起來和 <fmt:formatDate> 標(biāo)簽的作用正好相反。它的屬性和描述如表 9.24 所示:

    9.24   <fmt:parseDate> 標(biāo)簽屬性和說明

    屬性

    描述

    value

    將被解析的字符串

    type

    解析格式化的類型

    pattern

    解析格式化模式

    var

    結(jié)果保存變量,類型為 java.lang.Date

    scope

    變量的作用范圍

    parseLocale

    以本地化的形式來解析字符串,該屬性的內(nèi)容為 String java.util.Locale 類型的實(shí)例

    timeZone

    指定解析格式化日期的時(shí)區(qū)

    <fmt:parseNumber> <fmt:parseDate> 兩組標(biāo)簽都實(shí)現(xiàn)解析字符串為一個(gè)具體對(duì)象實(shí)例的工作,因此,這兩組解析標(biāo)簽對(duì) var 屬性的字符串參數(shù)要求非常嚴(yán)格。就 JSP 頁面的表示層前段來說,處理這種解析本不屬于份內(nèi)之事,因此 <fmt:parseNumber> <fmt:parseDate> 兩組標(biāo)簽應(yīng)該盡量少用,替代工作的地方應(yīng)該在服務(wù)器端表示層的后段,比如在 Servlet 中。



    posted on 2007-01-18 15:17 nbt 閱讀(3691) 評(píng)論(0)  編輯  收藏 所屬分類: Servele&JSP和js

    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊(cè)

    收藏夾

    Java技術(shù)網(wǎng)站

    友情鏈接

    國內(nèi)一些開源網(wǎng)站

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产亚洲欧洲Aⅴ综合一区| 色婷婷精品免费视频| 中文字幕不卡亚洲| 亚洲AV乱码一区二区三区林ゆな| 日韩免费高清播放器| 色婷婷亚洲一区二区三区| 亚洲毛片免费观看| 久久亚洲一区二区| 亚洲一级片内射网站在线观看| 巨胸喷奶水视频www网免费| 亚洲国产精品无码久久九九大片| 亚洲韩国—中文字幕| 亚洲高清成人一区二区三区| 一二三四影视在线看片免费| 亚洲精品免费在线观看| 久久成人永久免费播放| 欧洲精品码一区二区三区免费看| 亚洲国产欧美日韩精品一区二区三区 | 亚色九九九全国免费视频| 日韩在线永久免费播放| 久久国产精品成人免费| 中文字幕看片在线a免费| 一本久久免费视频| 高清免费久久午夜精品| 一级成人a做片免费| 国产成人高清亚洲一区91| 亚洲AV日韩AV无码污污网站| 久久精品国产亚洲AV天海翼| 亚洲色成人WWW永久在线观看| 亚洲男人天堂2018av| 亚洲日本天堂在线| 亚洲熟妇AV乱码在线观看| 亚洲综合一区二区三区四区五区| 亚洲a级片在线观看| 亚洲人成在线精品| 亚洲中文字幕乱码一区| 亚洲爆乳大丰满无码专区| 激情无码亚洲一区二区三区 | 亚洲精品成人区在线观看| 亚洲国产人成精品| 亚洲一区二区三区免费|