jstl--核心標籤庫(內容均來自於易百教程)
在jsp中引入以下程式碼,匯入jstl的核心標籤庫
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:out>標籤
<c:out>顯示錶達式的結果,類似的方式<%=%>效果,與其不同的是標記<c:out>,可以使用簡單的“.”符號來訪問屬性。例如,要訪問customer.address.street,使用的標籤是<c:out value="customer.address.street"/>.
標記<c:out>可自動轉義XML標籤,以便他們都不會計算為實際的標籤。
標記<c:out>具有以下屬性:
屬性 | 描述 | 必需 | 預設值 |
---|---|---|---|
value | 輸出的資訊 | Yes | None |
default | 反饋輸出的資訊 | No | body |
escapeXml | True,如果標籤轉義特殊XML字元 | No | true |
<c:set>標籤
<c:set>標記具有以下屬性:
屬性 | 描述 | 必需 | 預設值 |
---|---|---|---|
value | 儲存資訊 | No | body |
target | 變數的名稱,其屬性應該修改 | No | None |
property | 要修改的屬性 | No | None |
var | 變數的名稱儲存資訊 | No | None |
scope | 變數來儲存資訊的範圍 | No | Page |
如果指定目標,屬性也必須指定。
<c:remove>標籤<c:remove>標籤刪除變數,無論是從指定的範圍內或範圍內的變數(如果沒有指定範圍)。這個動作通常是不特別有幫助,但它可以幫助確保一個JSP範圍內的資源,它負責清理。
<c:remove>標籤具有以下屬性:
屬性 | 描述 | 必選 | 預設 |
---|---|---|---|
var | 刪除的變數名稱 | Yes | None |
scope | 要刪除變數的範圍 | No | All scopes |
<c:catch>標籤
<c:catch>標籤捕獲任何Throwable,發生在它的身上,有選擇地公開。簡單地用於錯誤處理,更優雅地處理這個問題。
<c:catch>標籤具有以下屬性:
屬性 | 描述 | 必選 | 預設 |
---|---|---|---|
var | 變數的名稱儲存在java.lang。如果丟擲的Throwable在body元素內。 | No | None |
<c:if>標籤
<c:if>標籤計算表示式,只有當表示式的值為true,則顯示其主體內容。
<c:if>標籤具有以下屬性:
屬性 | 描述 | 必需 | 預設 |
---|---|---|---|
test | 條件計算 | Yes | None |
var | 變數名稱的儲存條件的結果 | No | None |
scope | 變數的範圍的儲存條件的結果 | No | page |
<c:choose>標籤
<c:choose>就像Java switch語句,它可以讓你選擇一些替代方案品。正如switch語句case語句,
<c:choose>標籤有<c:when>的標籤。一個switch語句中有default子句來指定一個預設的行動同樣的方式<c:choose>有<c:otherwise>作為預設子句。
-
<c:choose>標籤沒有任何屬性。
-
<c:when>標記有一個屬性,下面列出了。
-
<c:otherwise>標籤沒有任何屬性。
<c:when>標記具有以下屬性:
屬性 | 描述 | 必需 | 預設值 |
---|---|---|---|
test | 條件計算 | Yes | None |
<c:import>標籤
<c:import>標記提供<include>的所有的功能動作,但也可以包含絕對URL。
例如,允許使用匯入標籤包含的內容從一個不同的Web站點或FTP伺服器。
<c:import>標記具有以下屬性:
屬性 | 描述 | 必需 | 預設值 |
---|---|---|---|
url | URL檢索和匯入到頁面 | Yes | None |
context | /後面的本地Web應用程式的名稱 | No | 目前的應用 |
charEncoding | 為匯入資料使用的字符集 | No | ISO-8859-1 |
var | 變數的名稱儲存匯入的文字 | No | Print to page |
scope | 變數作用域用於儲存匯入的文字 | No | Page |
varReader | 替代變數的名稱,暴露的java.io.Reader | No | None |
<c:forEach>標籤
存在這些標籤嵌入Java的一個很好的選擇,讓while或do-while迴圈通過指令碼。<c:forEach>標記是常用的標籤,因為它遍歷物件的集合。<c:forTokens>標籤是用來打破的字串令牌和遍歷每個標記。
<c:forEach>標記有以下屬性:
屬性 | 描述 | 必需 | Default |
---|---|---|---|
items | Information to loop over | No | None |
begin | Element to start with (0 = first item, 1 = second item, ...) | No | 0 |
end | Element to end with (0 = first item, 1 = second item, ...) | No | Last element |
step | Process every step items | No | 1 |
var | Name of the variable to expose the current item | No | None |
varStatus | Name of the variable to expose the loop status | No | None |
<c:forTokens>標籤有類似<c:forEach>的屬性,除了一個額外的屬性delims指定要使用的字元作為分隔符。
屬性 | 描述 | Required | Default |
---|---|---|---|
delims | Characters to use as delimiters | Yes | None |
<c:param>標籤
<c:param>標籤允許適當的URL請求引數到指定的URL和任何必要的URL編碼。
在一個<c:param>標籤的name屬性表示引數的名稱,value屬性表示的引數值:
<c:param>標籤具有以下屬性:
屬性 | 描述 | 必需 | 預設值 |
---|---|---|---|
name | 在URL中設定的請求引數的名稱 | Yes | None |
value | 在URL中設定的請求引數的值 | No | Body |
<c:redirect>標籤
<c:redirect>標籤將瀏覽器重定向到一個備用URL提供自動URL重寫,它支援上下文相關的URL和支援<c:param>標籤。
<c:redirect>標籤具有以下屬性:
屬性 | 描述 | Required | Default |
---|---|---|---|
url | URL重定向使用者的瀏覽器 | Yes | None |
context | /後面的本地Web應用程式的名稱 | No | 當前應用 |
<c:url>b標籤
<c:url>標記格式化成一個字串格式的URL,並將其儲存到變數中。這個標籤會在必要時自動執行URL重寫。var屬性指定的變數將包含格式化的URL。
JSTL url標籤只是response.encodeURL()方法的呼叫一個替代方法。URL標記提供的唯一的真正的優勢是正確的URL編碼,包括子param標籤指定的任何引數。
<c:url>標記具有以下屬性:
Attribute | Description | Required | Default |
---|---|---|---|
value | 根URL | Yes | None |
context | /後面的本地Web應用程式的名稱 | No | Current application |
var | 變數的名稱,暴露處理的URL | No | Print to page |
scope | 變數的作用域暴露處理的URL | No | Page |