JSP學習之三:EL & JSTL(二)
CoffeeTree 2008-12-27
一、JSTL(JSP Standard Tag Library):JSP 標準標記庫
1. JSTL應用領域:
a) 設置作用域變量、顯示表達式和值、刪除作用域變量、捕獲異常的通用標記;
b) 條件流程控制標記,包括if和switch…case之類的構造;
c) 循環標記,用于對集合中或計循環中的元素進行迭代處理;
d) URL標記,用于在JSP中處理URL以及通過URL加載資源;
e) 支持應用國際化的標記;
f) 格式化日期和數字的標記;
g) 用于字符串處理的一組EL可訪問函數。
2. 標記庫剖析:
下圖構成了一個標記庫的代碼和描述文件
3. JSTL標記
a) 核心標記
b) 格式化標記
c) XML標記
d) SQL標記
二、探索core
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
1. 核心標記就是一組最常用的JSTL標記。
a. 用于條件流程控制的<c:if>;
b. 用于循環的<c:forEach> 和<c:forTokens>;
c. 用于互斥代碼中控制選擇流程的<c:choose>…<c:when>…<c:otherwise>;
d. 用于處理作用域變量的<c:set>和<c:remove>;
e. 用于顯示變量和表達式的<c:out>;
f. 用于處理異常的<c:catch>;
g. 用于創建和處理URL的<c:url>.
value 屬性用來指定基本 URL,然后在必要時標記對其進行轉換。如果這個基本 URL 以一個斜杠開始,那么會在它前面加上 servlet 的上下文名稱。可以使用 context 屬性提供顯式的上下文名稱。如果省略該屬性,那么就使用當前 servlet 上下文的名稱。(如果這個基本 URL 不是以斜杠開始的,那么就認為它是一個相對 URL,這時就不必添加上下文名稱。)
如果為 var 屬性提供了一個值(還可以同時為 scope 屬性提供一個相應的值,這是可選的),那么將生成的 URL 賦值給這個限定了作用域的指定變量。