標籤:自訂 border 自己 log 命令 java span idt redirect
自訂標籤是,使用者定義自己的處理的tag的機制。
JSTL是,JSP用標準自訂標籤。從JSTL Ver.1.2開始成為JavaEE5的子集。比較有名的是Glassfish。Tomcat上開發的話,需要自己配置JSTL。
1、JSTL的提供形式
自訂標籤通常有下述兩部分內容:
- Tag類檔案
- TLD (tag library descriptor)
2、JSTL的使用步驟
自訂標籤的jar檔案下載(地址:https://jstl.java.net/)後,按如下順序使用:
1)把JAR檔案放到項目的lib裡
2)做成只包含web-app要素的web.xml檔案,以防止命令列上的錯誤輸出。
例:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
3)jsp檔案裡定義taglib。
例:<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
這裡,
- prefix屬性:JSP裡使用JSTL時的首碼。習慣上用“c”。
- uri屬性:識別JSTL的字串。按照JSTL說明文檔指定。
4)使用taglib
例:<c:out value="你好!"/>
注意JSTL和Servlet/JSP的版本對應
- JSTL 1.2 ? JSP 2.1 (Tomcat6)
- JSTL 1.1 ? JSP 2.0 (Tomcat5)
- JSTL 1.0 ? JSP 1.2 (Tomcat4)
3、JSTL種類
1)JSTL種類
| 種類 |
說明 |
uri |
首碼 |
| core |
迴圈處理、條件分支、變數的取得/設定等基本tag |
http://java.sun.com/jsp/jstl/core |
c |
| il8n |
數值、日期的格式,國際化對應 |
http://java.sun.com/jsp/jstl/fmt |
fmt |
| xml |
XML文檔的解析,XSL格式變換 |
http://java.sun.com/jsp/jstl/xml |
x |
| function |
字串、集合操作 |
http://java.sun.com/jsp/jstl/functions |
fn |
| SQL |
SQL的執行等DB操作 |
http://java.sun.com/jsp/jstl/sql |
sql |
2)core tag
| 功能 |
tag |
說明 |
| 變數 |
<c:set> |
設定變數 |
| <c:remove> |
刪除變數 |
| 流程式控制制 |
<c:if> |
單一條件分支 |
<c:choose> <c:when> <c:otherwise> |
複數條件分支 |
| <c:forEach> |
loop |
| <c:forTokens> |
字串尋找 |
| URL管理 |
<c:import> |
檔案import |
| <c:redirect> |
redirect |
| <c:url> |
URL產生。 |
| 其它 |
<c:out> |
輸出 |
| <c:catch> |
異常處理 |
| <c:param> |
參數指定 |
(1)<c:set> tag
| 屬性 |
必須 |
說明 |
| var |
× |
變數名。var和target指定任意一個。 |
| target |
× |
變數名。和proparty屬性一起使用。使用javaBeans、Map的時候需要指定。 var和target指定任意一個。 |
| property |
× |
和target一起使用。指定javaBeans的屬性名稱,或Map的key。 |
| value |
× |
值 |
| scope |
× |
變數的有效範圍「page、request、session、application」。 預設為page。 |
(2) <c:remove> tag
| 屬性 |
必須 |
說明 |
| var |
○ |
變數名。 |
| scope |
× |
變數範圍 |
(3) <c:if> tag
| 屬性 |
必須 |
說明 |
| test |
○ |
條件 |
| var |
× |
儲存結果(true/false)的變數名。 |
| scope |
× |
變數範圍「page、request、session、application」。 預設是page |
JSP基本_JSTL