JSTL
Java Server Pages Standard Tag Libray(JSTL):JSP 標(biāo)準(zhǔn)標(biāo)簽庫粘都,是一個定制標(biāo)簽類庫的集合佃声,用于解決一些常見的問題澎剥,例如迭代一個映射或者集合叭首、條件測試疤苹、
XML 處理互广,甚至數(shù)據(jù)庫和訪問數(shù)據(jù)庫操作等。
核心標(biāo)簽庫:http://java.sun.com/jsp/jstl/core 包含 Web 應(yīng)用的常見工作痰催,
比如:循環(huán)、表達(dá)式賦值迎瞧、基本輸入輸出等夸溶。
格式化標(biāo)簽庫:http://java.sun.com/jsp/jstl/fmt 用來格式化顯示數(shù)據(jù)的工作,
比如:對不同區(qū)域的日期格式化等凶硅。
為了在 JSP 頁面使用 JSTL 類庫缝裁,必須以下列格式使用 taglib 指令:
<%@taglib
uri=”” prefix=””%>
例如:<%@tagliburi=”http://java.sun.com/jsp/jstl/core”prefix=”c”%>
標(biāo)簽的使用
If標(biāo)簽
if 標(biāo)簽先對某個條件進(jìn)行測試,如果該條件運(yùn)算結(jié)果為 true, 則處理它的主
體內(nèi)容,測試結(jié)果保存在一個 Boolean 對象中捷绑,并創(chuàng)建一個限域變量來引用
Boolean 對象韩脑。可以利用 var 屬性設(shè)置限域變量名粹污,利用 scope 屬性來指定其
作用范圍段多。
if 的語法有兩種形式:沒有主體內(nèi)容、有主體內(nèi)容
無主體內(nèi)容
該情況下:var 指定的限域變量由同一個 JSP 頁面中后面的標(biāo)簽測試所決定壮吩。
有主體內(nèi)容
Body contenet
</c:if>
主體內(nèi)容為jsp进苍,若測試條件為true,則處理jsp鸭叙;
JSTL 中沒有 else 標(biāo)簽觉啊,為了模擬 else 的情景,需要使用兩個 if 標(biāo)簽沈贝,并
且這兩個標(biāo)簽為 相反的條件杠人。
choose 、when? 和otherwise? 標(biāo)簽
choose 和 when 標(biāo)簽的作用與 Java 中的 switch 和 case 關(guān)鍵字相似宋下。
otherwise 標(biāo)簽用于默認(rèn)的條件代碼塊嗡善,如果所有的 when 標(biāo)簽的測試條件運(yùn)算結(jié)果都不為 true,就會執(zhí)行該代碼塊杨凑。如果有otherwise 標(biāo)簽滤奈,它必須放在最后一個 when 標(biāo)簽之后,否則會報錯。
choose? 和otherwise? 標(biāo)簽沒有屬性撩满,when 標(biāo)簽則必須使用 test 屬性設(shè)定
一個條件蜒程,用于確定是否處理主體內(nèi)容。
<c:choose>
? ???????
????? …………..
?????
</c:choose>
forEach標(biāo)簽
forEach 是將一個主體內(nèi)容迭代多次伺帘,或者迭代一個對象集合昭躺。可以迭代的
對象包括所有的 java.util.Collection 和 java.util.Map 接口的實(shí)現(xiàn)伪嫁,以及對象或
者基本類型的數(shù)組领炫。他還可以迭代 java.util.Iterator 和 java.util.Enumeration, 不能在多個動作指令中使用 Iterator 或者 Enumeration,因?yàn)?Iterator 或者
Enumeration 都不能重置(reset)。
Body content
</c:forEach>
格式化動作指令
JSTL 提供了格式化和解析數(shù)字和日期的標(biāo)簽,我們討論里面有:
formatNumber张咳、formatDate帝洪、parseNumber 及 parseDate。
fomatNumber 標(biāo)簽該標(biāo)簽用指定的格式或精度來格式化數(shù)字,<fmt:formatNumber>
formatDate?標(biāo)簽使用指定的風(fēng)格或模式格式化日期和時間脚猾,<fmt:formatDate>
parseNumber?標(biāo)簽
利用 parseNumber 標(biāo)簽可以將數(shù)字葱峡、貨幣或百分比的字符串表示法解析成指定語言環(huán)境的數(shù)字。即解析一個代表著數(shù)字龙助,貨幣或百分比的字符串砰奕。
parseDate?標(biāo)簽
此標(biāo)簽為指定區(qū)域解析日期和時間的字符串表示法。即解析一個代表著日期或時間的字
符串。