日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jsp fmt标签详解

發布時間:2024/7/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp fmt标签详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

詳見:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt326

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標簽。

接下將詳細介紹這些標簽的功能和使用方式。

9.3.1?數字日期格式化

數字日期格式化標簽共有6個,用來將數字或日期轉換成設定的格式。

1.<frm:formatNumber/>標簽

該標簽依據特定的區域將數字改變為不同的格式來顯示。

【語法1】:

<frm:formatNumber?value=”被格式化的數據”[type=”number|currency|percent”]

???????????????????????????????????????????????[pattern=”pattern”]

???????????????????????????????????????????????[currencyCode=”code”]

???????????????????????????????????????????????[currencySymbol=”symbol”]

???????????????????????????????????????????????[groupingUsed=”true|false”]

???????????????????????????????????????????????[maxIntergerDigits=”maxDigits”]

???????????????????????????????????????????????[minIntergerDigits=”minDigits”]

???????????????????????????????????????????????[maxFractionDigits=”maxDigits”]

???????????????????????????????????????????????[minFractionDigits=”minDigits”]

???????????????????????????????????????????????[var=”name”]

???????????????????????????????????????????????[scope=page|request|session|application]

/>

【語法2】:?

<frm:formatNumber?[type=”number|currency|percent”]

???????????????????????????????????????????????[pattern=”pattern”]

???????????????????????????????????????????????[currencyCode=”code”]

???????????????????????????????????????????????[currencySymbol=”symbol”]

???????????????????????????????????????????????[groupingUsed=”true|false”]

???????????????????????????????????????????????[maxIntergerDigits=”maxDigits”]

???????????????????????????????????????????????[minIntergerDigits=”minDigits”]

???????????????????????????????????????????????[maxFractionDigits=”maxDigits”]

???????????????????????????????????????????????[minFractionDigits=”minDigits”]

???????????????????????????????????????????????[var=”name”]

???????????????????????????????????????????????[scope=page|request|session|application]

>?

<fmt:formatNumber>標簽參數說明:

名稱

說明

EL

類型

必須

默認值

value

要格式化的數據

String

type

指定類型(單位、貨幣、百分比等)見表

String

number

pattern

格式化的數據樣式

String

currencyCode

貨幣單位代碼

String

cuttencySymbol

貨幣符號($、¥)

String

groupingUsed

是否對整數部分進行分組如(9,999)

boolean

true

maxIntergerDigits

整數部分最對顯示多少位數

int

minIntergerDigits

整數部分最少顯示多少位

int

maxFractionDigits

小數部分最多顯示多少位

int

minFractionDigits

小數部分最少顯示多少位

int

var

存儲格式化后的數據

String

scope

var的JSP范圍

String

page

Type屬性的類型應用:.

類型

說明

示例

number

數字格式

0.8

currency

當地貨幣

¥0.80

percent

百分比格式

80%

【示例代碼】:實現了對數字的格式化、貨幣的格式、貨幣的格式化。使用<frm:formatNumber>的各種屬性的設定。

<table?border=1?cellpadding="0"?cellspacing="0"?align="center">

?<tr?align="center">

<td?width="100">類型?</td>

<td?width="100">使用數據</td>

<td?width="100">結果</td>

<td?width="300">說明</td>

?</tr>

?<tr>

?<td>數字格式化</td><td>108.75</td>

?<td><fmt:formatNumber?type="number"?pattern="###.#">108.75</fmt:formatNumber></td>

?<td>使用pattern可以定義顯示的樣式。本例設定為###.#小數部分將使用四舍五入法。</td>

?</tr>

?<tr>

?<td>數字格式化</td><td>9557</td>

?<td><fmt:formatNumber?type="number"?pattern="#.####E0">9557</fmt:formatNumber></td>

?<td>使用科學計數法。</td>?

?</tr>

?<tr>

?<td>數字格式化</td><td>9557</td>

?<td><fmt:formatNumber?type="number"?>9557</fmt:formatNumber></td>

?</td>

?<td>使用默認分組。</td>

?</tr>

?<tr>

?<td>數字格式化</td><td>9557</td>

?<td><fmt:formatNumber?type="number"?groupingUsed="false"?>9557</fmt:formatNumber></td>

?<td>不使用分組。</td>

?</tr>

?<tr>

?<td>數字格式化</td><td>9557</td>

?<td><fmt:formatNumber?type="number"?maxIntegerDigits="3">9557</fmt:formatNumber></td>

?<td>使用位數限定,根據指定的位數顯示,其他數字忽略。例如:9不被顯示。</td>

?</tr>

?<tr>

?<td>百分比格式化</td><td>0.98</td>

?<td><fmt:formatNumber?type="percent">0.98</fmt:formatNumber></td>

?<td>用百分比形式顯示一個數據。</td>

?</tr>

?<tr>

?<td>貨幣格式化</td><td>188.88</td>

?<td><fmt:formatNumber?type="currency"?>188.8</fmt:formatNumber></td>

<td>將一個數據轉化為貨幣形式輸出。</td>

?</tr>

?<tr>

?<td>存儲數據</td><td>188.88</td>

?<td><fmt:formatNumber?type="currency"?var="money">188.8</fmt:formatNumber>

?<c:out?value="${money}"></c:out>

?</td>

?<td>存儲的money的值為${money}?</td>

?</tr>

?</table>

?【代碼說明】:

(1)從應用角度可以把屬性分為三類:數字格式化、貨幣格式化、百分比格式化。使用type指定類型。

(2)應用于數字格式化的屬性有:partten屬性、maxIntegerDigits屬性、minIntegerDigits屬性、maxFractionDigits屬性和minFactionDigits屬性。其中partten屬性在設定格式化樣式時會比較準確如:四舍五入、科學計數法的使用。而使用maIntegerDirgits等屬性時,只把設定位數以外的數字舍去。

(3)貨幣格式化可以使用數字格式化的所有屬性。如果有必要建議使用partten屬性。currencyCode屬性和currencySymbol只用于貨幣格式化。

(4)百分比格式化使用到的屬性為type屬性、partten屬性,設定type屬性的類型為percent即可。

(5)使用var屬性時,會將格式化后的值存在JSP的某個范圍內(一個String類型的字符串包括符號等)。<frm:forNumber>將不再輸出格式化后的值可以使用EL表達式輸出。

(6)通用屬性:type屬性、partten屬性、var屬性和scope屬性。

2.<frm:parseNumber>標簽

將格式化后的數字、貨幣、百分比都轉化為數字類型。

【語法1】:

<fmt:parseNumber?value="number"?[type=”number|currency|percent”]

????????????????????????????????????????????????????????[pattern=”pattern”]

????????????????????????????????????????????????????????[parseLocale=”locale”]???????????????????????

????????????????????????????????????????????????????????[intergerOnly=”true|false”]

????????????????????????????????????????????????????????[scope=”page|request|session|application”]

/>

【語法2】:

<fmt:parseNumber?[type=”number|currency|percent”]

????????????????????????????????????????????????????????[pattern=”pattern”]

????????????????????????????????????????????????????????[parseLocale=”locale”]

????????????????????????????????????????????????????????[intergerOnly=”true|false”]

????????????????????????????????????????????????????????[scope=”page|request|session|application”]

>?

Number

</fmt:parseNumber>

<fmt:parseNumber>標簽參數說明:

名稱

說明

EL

類型

是否必須

默認值

value

被解析的字符串

String

type

指定單位(數字、貨幣、百分比)

String

number

pattern

格式樣式

String

parseLocale

用來替代默認區域的設定

String,

Java.util.

Locale

默認本地樣式

var

存儲已經格式化的數據

String

scope

var變量的作用域

String

page

<fmt:parseNumber>可以看作是<fmt:formatNumber>的逆運算。相應的參數和類型的配置和使用<fmt:formatNumber>格式化時相同。

【示例代碼】:實現了從字符串中提取數據,并用合適的數據類型進行存儲(浮點性、整型等)。可以對轉換后的數據進行加法運算。

?<fmt:formatNumber?type="currency"?var="money">188.8</fmt:formatNumber>

?<li>格式化前的數據為:<c:out?value="${money}"></c:out>

?<fmt:parseNumber?var="money"?type="currency">${money}</fmt:parseNumber>

?<li>格式化后的數據為:<c:out?value="${money}"></c:out>

?<li>可以對格式化的后的數據進行運算:?

?<c:out?value="${money+200}"></c:out>

?<li>對百分比進行格式化98%為:

?<fmt:parseNumber?type="percent">98%</fmt:parseNumber>

【代碼解析】:

(1)首先使用<fmt:formatNumber>將188.8轉換為字符串¥188.8并在page范圍內存儲一個String類型的變量,變量名為money。

(2)使用<fmt:parseNumber>將¥188.8轉化為浮點型的數據188.8并賦值為變量money,

則變量money轉變為一個浮點型的值188.8,對188.8進行加運算。

(3)直接對一個百分比數98%進行轉化。

3.<fmt:formatDate>標簽

該標簽主要用來格式化日期和時間。

【語法】:

<fmt:?formatDate?value=”date”?[type=”time|date|both”]

?????????????????????????????????????[pattern=”pattern”]

?????????????????????????????????????[dateStyle=”default|short|medium|long|full”]

?????????????????????????????????????[timeStyle=”default|short|medium|long|full”]

?????????????????????????????????????[timeZone=”timeZone”]

?????????????????????????????????????[var=”name”]

?????????????????????????????????????[scope=”page|request|session|application”]

/>

<fmt:formatDate>標簽屬性說明:

屬性名

說明

EL

類型

必須

默認值

value

將要格式化的日期對象。

Java.util.Date

type

顯示的部分(日期、時間或者兩者)。

String

date

partten

格式化的樣式。

String

dateStyle

設定日期的顯示方式。

String

default

timeStyle

設定時間的顯示方式。

String

default

timeZone

設定使用的時區。

String

當地所用時區

var

存儲已格式化的日期或時間。

String

scope

指定var存儲的JSP范圍。

String

type屬性參數說明:

參數名

說明

time

只顯示時間

date

只顯示時期

both

顯示日期和時間

【示例程序】:實現了對日期的格式化,使用了type、dateStyle、timeStyle等屬性。

<fmt:formatDate?value="${date}"></fmt:formatDate><br>

<fmt:formatDate?value="${date}"?type="both"></fmt:formatDate><br>

<fmt:formatDate?value="${date}"?type="both"?dateStyle="default"

?timeStyle="default"></fmt:formatDate><br>

???<fmt:formatDate?value="${date}"?type="both"?dateStyle="short"

?timeStyle="short"></fmt:formatDate><br>

???<fmt:formatDate?value="${date}"?type="both"?dateStyle="long"

?timeStyle="long"></fmt:formatDate><br>

???<fmt:formatDate?value="${date}"?type="both"?dateStyle="full"

timeStyle="full"></fmt:formatDate><br>

???<fmt:formatDate?value="${date}"?type="both"?dateStyle="full"

timeStyle="full"></fmt:formatDate><br>

???

【代碼解析】:

(1)首先通過配置JavaBean在頁面上實例化java.util.Date對象。實現代碼如下:

<jsp:useBean?id="date"?class="java.util.Date"></jsp:useBean>

(2)對日期對象進行格式化時${date}是一個日期對象,如果給value設的值為String時程序會報錯。

(3)設置type為both時,將顯示日期和時間,同時示例中依次改變dateStyle和timeStyle的值作為比較。

4.<fmt:parseDate>標簽

<fmt:parseDate>標簽主要將字符串類型的時間或日期轉化為時間或日期對象。

【語法1】:

<fmt:parseDate?value=”date”?[type=”time|date|both”]

????????????????????????????????????????????????????????[pattern=”pattern”]

????????????????????????????????????????????????????????[parseLocale=”locale”]

????????????????????????????????????????????????????????[dateStyle=”default|short|medium|long|full”]

????????????????????????????????????????????????????????[timeStyle=”default|short|medium|long|full”]

????????????????????????????????????????????????????????[timeZone=”timezone”]

????????????????????????????????????????????????????????[var=”name”]

????????????????????????????????????????????????????????[scope=”page|request|session|application”]

/>

【語法2】:

<fmt:parseDate?[type=”time|date|both”]

????????????????????????????????????????????????????????[pattern=”pattern”]

????????????????????????????????????????????????????????[parseLocale=”locale”]

????????????????????????????????????????????????????????[dateStyle=”default|short|medium|long|full”]

????????????????????????????????????????????????????????[timeStyle=”default|short|medium|long|full”]

????????????????????????????????????????????????????????[timeZone=”timezone”]

????????????????????????????????????????????????????????[var=”name”]

????????????????????????????????????????????????????????[scope=”page|request|session|application”]

>?

Date

</fmt:parseDate>

<fmt:parseData>標簽屬性說明:

屬性名

說明

EL

類型

必須

默認值

value

將要格式化的日期時間

String

type

字符串的類型(日期、時間或全部)

EL

String

date

pattern

字符串使用的時間樣式

String

parseLocale

取代默認地區設定

String

默認地區

dateStyle

字符串使用的日期顯示方式

String

default

timeStyle

字符串使用的時間顯示格式

String

default

timeZone

使用的時區

String

當地區時

var

使用var定義的名字保存對象

String

scope

var的JSP范圍

String

page

【示例代碼】:實現了以下功能:首先,使用了<fmt:formatDate>把一個日期對象格式化成一個日期的字符串,并把該字符串以參數名為a存儲page范圍內。其次,使用<fmt:parseDate>方法把a的值(字符串)格式化成一個Date并以參數名為b存儲在page范圍內。最后,使用Java腳本證明生成的b為對象。

<fmt:formatDate?value="${date}"?var="a"?type="both"

dateStyle="full"?timeStyle="full"></fmt:formatDate>

<fmt:parseDate?var="b"?type="both"?dateStyle="full"?timeStyle="full">

${a}

</fmt:parseDate>

???<%

???out.println(pageContext.getAttribute("b").toString());

???out.println("<br>");

???out.println(pageContext.getAttribute("b").hashCode());

???%>

???</body>

</html>

【代碼解析】:

(1)使用<fmt:formatDate>把日期對象格式化成字符串。

(2)使用<fmt:parseDate>把字符串對象轉化為日期對象,注意同(1)中的參數對比,可以發現兩者是一個互逆的過程。

(3)使用Java腳本進行測試Date對象的toString()方法可以輸出時間字符串。hashCode()可以得到一個對象的hashCode。該方法只能應用于對象,因此可以證明得到的是一個日期對象。

5.<fmt:setTimeZone>標簽

該標簽用于設定默認時區或者將時區存儲在指定的JSP范圍內。

【語法】:

<fmt:setTimeZone?value=”value”?[var=”name”][scope=”page|request|session|application”]/>

<fmt:setTimeZone>標簽屬性說明:

參數名

說明

EL

類型

必須

默認值

value

使用的時區

String

Java.util.TimeZone

var

使用var定義的參數名保存值

String

scope

存儲var的JSP范圍

String

page

value用來設定使用的時區,例如中國使用的時區為CST,其他的還有EST、PST等。可以把時區存儲在指定的JSP范圍內,例如存儲在session中,用戶訪問的所有頁面都可以顯示使用的設定的時區下對應的時間。

【示例代碼】

<fmt:setTimeZone?value=”EST”?scope=”session”/>

提示:有關TimeZone的說明見JDK幫助文檔的java.util.TimeZone類。

6.<fmt:timeZone>標簽

該標簽主要用于設置標簽體內使用的時區。

【語法】:

<fmt:timeZone?value=”timeZone”>

…..

</fmt:timeZone>

使用<fmt:timeZone></fmt:timeZone>只會應用到標簽體內使用的時區,對標簽外部將不產生影響。

9.3.2?讀取消息資源

讀取消息資源用到的標簽主要有4個:<fmt:message>標簽、<fmt:param>標簽、<fmt:bundle>標簽和<fmt:setBundle>標簽。主要用于從資源文件中讀取信息。

1.<fmt:bundle>標簽

該標簽主要用于將資源文件綁定于它的標簽體中的顯示。

【語法】:

<fmt:bundle?basename=”name”[prefix=”prefix”]>

….標簽主題

</fmt:bundle>

<fmt:bundle>標簽屬性說明:

參數名

說明

EL

類型

必須

默認值

basename

指定使用的資源文件的名稱

String

prefix

前置關鍵字

String

2.<fmt:setBundle>標簽

該標簽主要用于綁定資源文件或者把資源文件保存在指定的JSP范圍內。

【語法】:

<fmt:setBundle?basename=”name”?[var=”name”]

?????????????????????????????????????[scope=”page|request|session|application”]

>?

<fmt:setBundle>標簽屬性說明:

參數名

說明

EL

類型

必須

默認值

basename

指定使用的資源文件的名稱

String

var

指定將資源文件保存的名稱

String

scope

設定將資源文件保存的JSP范圍

String

page

3.<fmt:message>標簽

該標簽主要負責讀取本地資源文件,從指定的消息文本資源文件中讀取鍵值,并且可以將鍵值保存在指定的JSP范圍內。

【語法1】:

<fmt:message?key=”keyName”[bundle=”bundle”]

?????????????????????????????????????[scope=”page|request|session|application”]

/>

【語法2】:

<fmt:message?key=”keyName”[bundle=”bundle”]

?????????????????????????????????????[scope=”page|request|session|application”]

>?

<fmt:param/>

</fmt:message>

【語法3】:

<fmt:message?key=”keyName”[bundle=”bundle”]

????????????????????????????????????????????????????????[scope=”page|request|session|application”]

>?

key<fmt:param/>

</fmt:message>

<fmt:message>標簽屬性說明:

參數名

說明

EL

類型

必須

默認值

key

指定鍵值的名稱(索引)

String

bundle

指定消息文本的來源

LocalizationContext

var

指定存儲鍵值的變量名

String

scope

指定var的作用域

String

page

提示:建議此處的bundle使用EL表達式,因為屬性bundle的類型為LocalizationContext,而不是一個String類型的URL。

【示例代碼】:實現從指定的資源文件中讀取對應key的值。

首先編寫一個資源文件內容下

name=olive

password=01234

使用標簽從資源文件中讀取相應的值。

???<fmt:bundle?basename="message">

???<c:out?value="從message資源文件中得到的key為name的值為:"></c:out>

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

???</fmt:bundle>

???<hr>

???<fmt:setBundle?basename="message"?var="m"/>

???<fmt:message?key="password"?bundle="${m}"></fmt:message>

????${m}

????【代碼解析】:

(1)使用<fmt:bundle>標簽指定從message.properties文件中讀取值。

(2)使用<fmt:message>標簽讀取資源文件中key為name的值。<fmt:message>標簽放在<fmt:bundle>標簽體內使用。

(3)使用<fmt:setBundle>標簽在page范圍綁定一個配置文件,以m為參數名存儲。

(4)使用<fmt:message>標簽得到key為password的值,此處指定資源文件的方式為使用<fmt:message>標簽的bundle屬性來設定。

(5)輸出參數m的值,加深對bundle的理解。

<fmt:bundle>標簽中有一個prefix屬性,該標簽用來指明前綴。例如配置文件內容如下:

org.person.name=olive

org.personpassword=01234

如果不使用prefix標簽,在取值是要指明前綴。例如:

<fmt:bundle?basename=”message”>

<fmt:message?key=”org.person.name”></fmt:message>

<fmt:message?key=”org.person.password”></fmt:message>

</fmt:bundle>

使用prefix屬性可以簡化取值時的代碼。

<fmt:bundle?basename=”message”?prefix=”org.person”>

<fmt:message?key=”name”></fmt:message>

<fmt:message?key=”password”></fmt:message>

</fmt:bundle>

4.<fmt:param>標簽

該標簽主要用于當<fmt:message>中資源文件中獲得鍵值時,動態的為資源文件中的變量賦值。

【語法1】:

<fmt:param?value=”value”/>

【語法2】:

<fmt:param?>

…標簽主體

</fmt:param>

【示例代碼】:

(1)創建資源文件。在message.properties文件中增加一個key和value。

news={0}?welcome?to?out?website!<br>today?is?:{1,date}

表達的含義是鍵news對應的是一個字符串,字符串中還有動態變量{0}表示第一個動態變量,{1,date}表示第二個動態變量并且該變量是一個日期類型的對象。

(2)通過標簽從資源文件中取出鍵值,并給動態變量賦值顯示在頁面。

???<fmt:bundle?basename="message">

???<fmt:message?key="news">

???<fmt:param?value="olive"?/>

???<fmt:param?value="${date}"/>

???</fmt:message>

???</fmt:bundle>

??

【代碼解析】:

(1)使用<fmt:bundle>標簽把資源文件綁定在標簽體內。

(2)在<fmt:bundle>標簽體內使用<fmt:message>得到鍵值。

(3)使用<fmt:param>為資源文件中的動態變量賦值。

9.3.3?國際化

國際化這個分類中共包含兩個標簽:用于設定語言地區<fmt:setLocale/>和用于設定請求的字符編碼的<fmt:requestEncoding>標簽。

1.<fmt:setLocale/>標簽

<fmt:setLocale>標簽用來設定用戶語言區域。

【語法】:

<fmt:setLocale?value=”locale”[variant=”variant”]

????????????????????????????[scope=”page|request|session|application”]>

<fmt:setLocale>標簽屬性說明:

參數名

說明

EL

類型

必須

默認值

value

指定區域代碼

String

java.util.Locale

variant

操作系統的類型

String

scope

設定時區的作用范圍

String

page

value屬性用來指定使用的語言代碼,可以從瀏覽器的【工具】---【Internet選項】---【語言】---【添加】中查看瀏覽器支持的語言種類及語言代碼。例如:中文(zh_cn)、臺灣(zh_tw)、香港(zh_mo)等。

【示例代碼】:實現了設定不同的區域代碼,根據不同的區域代碼瀏覽將顯示不同格式的日期。

???<fmt:setLocale?value="en_us"?/>

???<fmt:formatDate?value="${date}"?type="both"?dateStyle="full"?timeStyle="full"/>

???<hr>

???<fmt:setLocale?value="zh_cn"?/>

???<fmt:formatDate?value="${date}"?type="both"?dateStyle="full"?timeStyle="full"/>

???<hr>

???<fmt:setLocale?value="zh_TW"/>

???<fmt:formatDate?value="${date}"?type="both"?dateStyle="full"?timeStyle="full"/>

【代碼解析】:

(1)瀏覽器默認跟您使用的操作系統的語言相同,因此默認值zh_cn。使用<fmt:setLocale/>標簽設置使用的語言為en_us(英語)。使用<fmt:formateDate>格式化輸出的時間字符串,該標簽會根據不同的語言輸出不同的日期格式。

(2)使用的語言修改為zh_cn,再次用格式化輸出。

(3)使用語言修改為zh_TW,輸出格式化后的時間。

2.<fmt:requestEncoding>標簽

該標簽用于設定請求的編碼格式。功能同servletRequest.setCharacterEncoding()方法相同。

【語法】:

<fmt:requestEncoding?[value=”charEncoding”]/>

【參數說明】:

value屬性用來指定使用的編碼集例如:gbk、gb2312等。當沒有給出value的值時將會自動搜索取尋找合適的編碼方式,因此能夠很好的解決中文亂碼問題。

轉載于:https://www.cnblogs.com/grefr/p/6088570.html

總結

以上是生活随笔為你收集整理的jsp fmt标签详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。