JSTL标簽庫及常用标簽
一、JSTL概述
JSTL是apache對EL表達式的擴充(也就是說JSTL依賴EL),JSTL是标簽語言!JSTL标簽使用起來非常友善,它與JSP動作标簽一樣,隻不過它不是JSP内置的标簽,需要我們自己導包,以及指定标簽庫而已!
如果你使用MyEclipse開發JavaWeb,那麼在把項目釋出到Tomcat時,你會發現,MyEclipse會在lib目錄下存放jstl的Jar包!如果你沒有使用MyEclipse開發那麼需要自己來導入這個JSTL的Jar包:jstl-1.2.jar。
JSTL一共包含四大标簽庫
1,core:核心标簽庫,我們學習的重點;
2,fmt:格式化标簽庫,隻需要學習兩個标簽即可;
3,sql:資料庫标簽庫,不需要學習了,它過時了;
4,xml:xml标簽庫,不需要學習了,它過時了。
二、使用taglib指令導入标簽庫
除了JSP動作标簽外,使用其他第三方的标簽庫都需要:
1,導jar包
2,在使用标簽的JSP頁面中使用taglib指令導入标簽庫
下面是導入JSTL的core标簽庫:
<%@ taglib prefix="c"uri="http://java.sun.com/jstl/core" %>
1)prefix="c":指定标簽庫的字首,這個字首可以随便給值,但大家都會在使用core标簽庫時指定字首為c;
2)uri="http://java.sun.com/jstl/core":指定标簽庫的uri,它不一定是真實存在的網址,但它可以讓JSP找到标簽庫的描述檔案;
三、常用标簽
3.1 out和set
3.2 remove
3.3 url
3.4 if
if标簽的test屬性必須是一個boolean類型的值,如果test的值為true,那麼執行if标簽的内容,否則不執行。
3.5 choose
choose标簽對應Java中的if/else if/else結構。when标簽的test為true時,會執行這個when的内容。當所有when标簽的test都為false時,才會執行otherwise标簽的内容。
3.6 forEach
forEach目前就是循環标簽了,forEach标簽有多種兩種使用方式:
l 使用循環變量,指定開始和結束值,類似for(int i = 1; i <= 10; i++) {};
l 循環周遊集合,類似for(Object o : 集合);
循環變量方式
周遊集合或數組
周遊List
周遊Map
forEach标簽還有一個屬性:varStatus,這個屬性用來指定接收“循環狀态”的變量名,例如:<forEach varStatus=”vs” …/>,這時就可以使用vs這個變量來擷取循環的狀态了。
l count:int類型,目前以周遊元素的個數;
l index:int類型,目前元素的下标;
l first:boolean類型,是否為第一個元素;
l last:boolean類型,是否為最後一個元素;
l current:Object類型,表示目前項目。
3.7 fmt
fmt标簽庫是用來格式化輸出的,通常需要格式化的有時間和數字。
格式化時間:
格式化數字:
0.00格式的末尾不足自動補零,而#.##不會補零