Servlet&JSP的那些事兒(十九)

來源:互聯網
上載者:User

本篇我們繼續討論JSTL。I18N標籤庫一般用於編寫國際化的應用程式。它分為兩部分,國際化和日期、時間、數位格式化。在jsp頁面要使用格式化標籤,必須要使用<%@taglib%>指令,指定格式化標籤。代碼如下:

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

國際化標籤

國際化標籤包括<fmt:setLocale>,<fmt:bundle>,<fmt:message>,<fmt:param>和<fmt:requestEncoding>。

<fmt:setLocale>標籤

它用於設定使用者的本地語言環境,並將指定的locae儲存到javax.servlet.jsp.jstl.fmt.locale組態變數中。其文法格式如下:

<fmt:setLocale value="locale" [variant="variant"] [scope="{page|request|session|application}"] />

value指定語言和地區代碼,variant指定供應商或瀏覽器代碼,如WIN表示windows。如果value是null或空,則使用預設locale。

<fmt:bundle>標籤

它用於建立它的標籤體使用的I18N本機內容環境。其文法格式如下所示:

<fmt:bundle basename="basename" [prefix="prefix"]>本體內容</fmt:bundle>

basename表示資源套件的基名,prefix指定在嵌套的<fmt:message>標籤的訊息鍵前面要添加的首碼。

<fmt:setBundle>標籤

該標籤用於建立一個I18N本機內容環境,將它儲存到javax.servlet.jsp.jstl.localizationContext組態變數中。其文法格式如下:

<fmt:setBundle basename="basename" [var="varName"] [scope="{scope|request|session|application}"]  />

var表示被到匯出的儲存了I18N本機內容的範圍變數的名字。

<fmt:message>標籤

該標籤用於從資源套件中尋找一個指定鍵的值,用於顯示本地化的訊息。有三種格式的文法,文法格式如下:

1)文法格式1,沒有標籤體。

<fmt:message key="messagekey" [bundle="resourceBundle"] [var="varName"] [scope="{page|request|session|application}"] />

2)文法格式2,有標籤體,在標籤體中指定訊息參數

<fmt:message key="messagekey" [bundle="resourceBundle"] [var="varName"] [scope="{page|request|session|application}"] >    <fmt:param> subtags</fmt:message>

3)有標籤體,在標籤體中指定鍵和可選的訊息參數。

<fmt:message [bundle="resourceBundle"] [var="varName"] [scope="{page|request|session|application}"] >    key optional<fmt:param> subtags</fmt:message>

key表示要尋找的訊息的鍵。bundle表示使用的資源套件。如果key為null,將產生?????形式的錯誤資訊。如果沒有找到資源套件,將產生???<key>???形式的錯誤。

<fmt:param>標籤

該標籤提供一個參數,用於在<fmt:message>中做參數置換。它有兩個文法格式。如下:

1)文法格式1,通過value屬性指定參數值。

<fmt:param value="messagevalue" />

2)文法格式2,通過標籤體指定參數值

<fmt:param>內容</fmt:param>

<fmt:requestEncoding>

該標籤體用於佈建要求的字元編碼,文法格式如下:

<fmt:requestEncoding [value="charsetName"] />

格式化標籤

<fmt:formatNumber>標籤

該標籤會根據地區或定製的方式將數字格式化為數字、貨幣或百分比。文法分為兩種,沒有本體內容,使用value屬性來指定要格式化的數字,有本體內容,使用本體內容來指定要格式化的數字。文法格式如下:

<fmt:formatNumber value="number" [type={number|currency|percent}][pattern="pattern"][currencyCode="currencyCode"][groupingUsed="{true|false}"][maxInterDigits="maxIntegerDigits"][minIntegerDigits="minIntegerDigits"][maxFractionDigits="maxFractionDigits"][minFractionDigits="minFractionDigits"][var="varName"][scope="page|request|session|application"] />

<fmt:parseNumber>標籤

該標籤用來將字串類型的數字、貨幣或百分比轉換成數字類型。和<fmt:formatNumber>標籤的作用證號相反。文法分為兩種,沒有本體內容,使用value屬性來制定要轉換成數位字串;無本體內容,使用本體內容來指定轉換成數位字串。其文法格式如下:

<fmt:parseNumber value="number" [type={number|currency|percent}][pattern="pattern"][parseLocale="parseLocale"][groupingUsed="{true|false}"][integerOnly="{false|true}"][var="varName"][scope="page|request|session|application"] />

<fmt:formatDate>標籤

該標籤會根據地區或定製的方式將日期或時間格式化。其文法格式如下:

<fmt:formatDate value="number" [type={time|date|both}][pattern="pattern"][dateStyle="{default|short|medium|long|full}"][timeStyle="{default|short|medium|long|full}"][timeZone="timeZone"][var="varName"][scope="page|request|session|application"] />

<fmt:parseDate>標籤

該標籤用來將字串類型的時間或日期轉換為日期時間類型。與<fmt:formatDate>標籤作用正好相反。也分為有本體內容或無本體內容兩種。其文法格式如下:

<fmt:parseDate value="number" [type={time|date|both}][pattern="pattern"][dateStyle="{default|short|medium|long|full}"][timeStyle="{default|short|medium|long|full}"][timeZone="timeZone"][var="varName"][scope="page|request|session|application"] />

<fmt:setTimeZone>標籤

該標籤用來設定預設時區或將時區儲存到屬性範圍中。其文法格式如下:

<fmt:setTimeZone value="timeZone" [var="varName" [scope="{page|request|session|application}"]]/>

<fmt:timeZone>標籤

該標籤用來暫時設定時區。其文法格式如下。

<fmt:timeZone value="timeZone">本體內容</fmt:timeZone>

轉載請註明出處:http://blog.csdn.net/iAm333

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.