天天看點

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

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

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

3.2 remove

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

3.3 url

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

3.4 if

if标簽的test屬性必須是一個boolean類型的值,如果test的值為true,那麼執行if标簽的内容,否則不執行。

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

3.5 choose

choose标簽對應Java中的if/else if/else結構。when标簽的test為true時,會執行這個when的内容。當所有when标簽的test都為false時,才會執行otherwise标簽的内容。

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

3.6 forEach

forEach目前就是循環标簽了,forEach标簽有多種兩種使用方式:

l  使用循環變量,指定開始和結束值,類似for(int i = 1; i <= 10; i++) {};

l  循環周遊集合,類似for(Object o : 集合);

循環變量方式

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

周遊集合或數組

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

周遊List

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

周遊Map

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

forEach标簽還有一個屬性:varStatus,這個屬性用來指定接收“循環狀态”的變量名,例如:<forEach varStatus=”vs” …/>,這時就可以使用vs這個變量來擷取循環的狀态了。

l  count:int類型,目前以周遊元素的個數;

l  index:int類型,目前元素的下标;

l  first:boolean類型,是否為第一個元素;

l  last:boolean類型,是否為最後一個元素;

l  current:Object類型,表示目前項目。

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

3.7 fmt

fmt标簽庫是用來格式化輸出的,通常需要格式化的有時間和數字。

格式化時間:

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

格式化數字:

JSTL标簽庫及常用标簽JSTL标簽庫及常用标簽

0.00格式的末尾不足自動補零,而#.##不會補零

繼續閱讀