更新時(shí)間:2018年01月11日14時(shí)58分 來(lái)源:傳智播客 瀏覽次數(shù):
fmt標(biāo)簽庫(kù)是用來(lái)格式化輸出的,而我們今天需要學(xué)習(xí)的就是格式化日期和數(shù)字。
1.格式化日期
格式化日期的標(biāo)簽是:
其中兩個(gè)屬性代表的意思如下:
l value:指定一個(gè)Date類型的變量;
l pattern:用來(lái)指定輸出的日期模板,例如:yyyy-MM-dd HH:mm:ss。
下面通過(guò)一個(gè)小例子來(lái)練習(xí)如何使用fmt的日期格式化標(biāo)簽來(lái)格式化日期,如下所示:
(1)在web應(yīng)用Example10的WebRoot目錄下新建一個(gè)jsp文件,名稱為fmt.jsp,主要代碼如例1-1所示:
例1-1 fmt.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
... ...
<%
Date date=new Date();
request.setAttribute("date", date);
%>
例1-1中,首先創(chuàng)建一個(gè)Date類型的對(duì)象,然后將該對(duì)象保存在request域中,最后使用fmt的日期格式化標(biāo)簽對(duì)該Date類型的對(duì)象進(jìn)行格式化。
(2)將Example10發(fā)布到服務(wù)器中,然后啟動(dòng)服務(wù)器,在瀏覽器端訪問(wèn)fmt.jsp頁(yè)面,瀏覽器顯示結(jié)果如圖1-1所示:
圖1-1 瀏覽器顯示結(jié)果
需要注意的是,日期格式化標(biāo)簽中的value屬性的值一定要是一個(gè)Date類型的變量,如果給它一個(gè)時(shí)間格式的字符串,在訪問(wèn)fmt.jsp頁(yè)面時(shí)會(huì)報(bào)錯(cuò)。
2.格式化數(shù)字
fmt標(biāo)簽庫(kù)還提供了格式化數(shù)字的標(biāo)簽,如下:
標(biāo)簽中的兩個(gè)屬性代表的意義分別如下:
l value:指定數(shù)字類型的變量或常量;
l pattern:指定格式化數(shù)字的類型,例如:0.00,#.##。
下面通過(guò)一個(gè)小案例來(lái)練習(xí)如何使用數(shù)字格式化標(biāo)簽格式化數(shù)字,如下:
(1)在fmt.jsp頁(yè)面中添加如例1-2所示代碼:
此處省略例1-1中的代碼
例1-2中,value屬性的值是“1.23”,是一個(gè)常量;pattern的值是“0.0”代表的是保留小數(shù)點(diǎn)后一位小數(shù)。
(2)瀏覽器端訪問(wèn)fmt.jsp頁(yè)面,瀏覽器顯示結(jié)果如圖1-2所示:
圖1-2 瀏覽器顯示結(jié)果
(3)對(duì)例1-2稍作修改,如例1-3所示:
此處省略例1-1中的代碼
<%
request.setAttribute("num1",3.1415926);
%>
例1-3中,將一個(gè)數(shù)“3.1415926”保存在request域中,然后使用數(shù)字格式化標(biāo)簽對(duì)其進(jìn)行格式化,格式化的模板是保留小數(shù)點(diǎn)后三位小數(shù)。
(4)在瀏覽器端訪問(wèn)fmt.jsp,瀏覽器顯示結(jié)果如圖1-3所示:
圖1-3 瀏覽器顯示結(jié)果
由圖1-3可知,pattern=“0.000”不僅保留小數(shù)點(diǎn)后三位小數(shù),還進(jìn)行了四舍五入。
(5)將例1-3中的數(shù)由“3.1415926”改成“3.14”,再次訪問(wèn)fmt.jsp,瀏覽器顯示結(jié)果如圖1-4所示:
圖1-4中,3.14后面只有兩位小數(shù),而pattern的值為0.000,即保留小數(shù)點(diǎn)后面三位小數(shù),不夠的用0補(bǔ)上。
(6)將例1-3中的pattern的值改為“#.###“,然后再次訪問(wèn)fmt.jsp,瀏覽器顯示結(jié)果如圖1-5所示:
圖1-5 瀏覽器顯示結(jié)果
由圖1-5可知,pattern為“#.###“也是保留小數(shù)點(diǎn)后三位小數(shù),并進(jìn)行四舍五入。
(7)再次將數(shù)“3.1415926“改成”3.14“,然后訪問(wèn)fmt.jsp,瀏覽器顯示結(jié)果如圖1-6所示:
圖1-6 瀏覽器顯示結(jié)果
圖1-6中,格式化后的數(shù)字是“3.14“,而pattern的值為”#.###“是保留小數(shù)點(diǎn)后三位數(shù)字,如果位數(shù)不夠三位,不補(bǔ)0,按原樣輸出。這一點(diǎn)與“0.000”不同。
北京校區(qū)