JSTL標籤提供了對國際化(I18N)的支援,它可以根據發出請求的用戶端地區的不同來顯示不同的語言。同時還提供了格式化資料和日期的方法。實現這些功能需要I18N格式標籤庫(I18N-capable formation tags liberary)。引入該標籤庫的方法為:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
I18N格式標籤庫提供了11個標籤,這些 標籤從功能上可以劃分為3類如下:
(1)數字日期格式化。formatNumber標籤、formatData標籤、parseNumber標籤、parseDate標籤、timeZone標籤、setTimeZone標籤。
(2)讀取訊息資源。bundle標籤、message標籤、setBundle標籤。
(3)國際化。setlocale標籤、requestEncoding標籤。
接下將詳細介紹這些標籤的功能和使用方式。
<fmt:formatNumber>標籤
根據地區或定製的方式將數字格式化成數字、貨幣或百分比
<fmt:formatNumber value="number" [type={number|currency|percent|}][pattern="pattern"][currencyCode="currencyCode"][currentSymbol="currentSymbol"][groupingUsec="{true|false}"][maxIntergerDigits="maxIntergerDigits"][minIntergerDigits="minIntergerDigits"][maxFractionDigits="maxFractionDigits"][minFractionDigits="minFractionDigits"][var="varname"][scope="page|request|session|application"] />
<%@page language="java" contentType="text/html;charset=utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><!DOCTYPE html><html> <head> <title>FormatNumber標籤使用</title> </head> <body> <h1>FormatNumber標籤使用</h1> <fmt:setLocale value="fr_fr" /> France:<fmt:formatNumber value="123456789.012"/> <fmt:setLocale value="zh_cn" /> China:<fmt:formatNumber value="123456789.012"/> <fmt:setLocale value="de_de" /> Germany:<fmt:formatNumber value="123456789.012"/> </body></html>
<fmt:parseNumber />標籤
用來將字串類型的數字、貨幣、或百分比轉換成數字類型
<fmt:parseNumber value="numberString" [type={number|currency|percent|}][pattern="pattern"][parseLocale="parseLocale"][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:parseDate value="date" [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>
<fmt:setLocale />標籤
用來設定使用者的地區語言
複製代碼 代碼如下:
<fmt:setLocale value="locale" [variant="variant"] [scope="{page|request|session|application}"] />
<fmt:requestEncoding />標籤
設定接收的字串的編碼格式
<fmt:requestEncoding value="charsetName" />
<fmt:setBundle />標籤
用來設定預設的資料來源,也可以將其儲存到一定範圍中,供需要時使用
複製代碼 代碼如下:
<fmt:setBundle basename="basename" [var="varname"] [scope="{page|request|session|application}"] />
<fmt:message />標籤
用來從指定的資源檔中通過索引取得值
複製代碼 代碼如下:
<fmt:message key="messageKey" [bundle="resourceBundle"] [var="varname"] [scope="{page|request|session|application}"] />
<fmt:param />標籤
用來傳遞參數(在從資源檔中取得資訊時,可能需要動態設定參數的情況下)
<fmt:param value="messageParameter" />
沒有本體內容
<fmt:param value="messageParameter" >有本體內容參數</fmt:param>
<fmt:bundle />標籤
用來設定資料來源
<fmt:bundle basename="basename" [prefix="prefix"] >本體內容<fmt:message></fmt:bundle>