JSP標準標籤庫——core標籤庫

 
一、核心標籤庫主要包括通用標籤、條件標籤、迭代標籤和與URL相關的標籤。
在使用Core標籤庫的JSP文件的開始部分,添加代碼:
<%@taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>

二、一般用途的標籤,如<c:out>、<c:set>、<c:remove>、<c:catch>

1、<c:out>標籤 用於輸出

把計算結果輸出到JspWriter對象。

語法1:沒有body的情況。

    <c:out value=”value” [escapeXml=”{true|false}”] [default=”defaultValue”]/>

語法2:有body的情況。

    <c:out value=”value” [escapeXml=”{true|false}”]>

     defaultValue<!---可以是JSP代碼->

</c:out>

屬性:

value:Object,將要計算的表達式(Expression)。

excapeXml:Boolean,確定以下字符:<,>,&,’,”在結果字符串中是否被轉換成字符實體代碼,默認爲true。

字符

字符實體

&lt;

&gt;

&

&amp;

&#039;

&#034;

default:Object,如果value是null,那麼輸出這個default值。

2、<c:set>標籤 用於賦值

這個標籤用於在某個範圍(Request,Session,Application等)中設置某個值,或者設置某個對象的屬性。

語法1:使用value屬性設置一個特定範圍中的屬性。

    <c:set value=”value” var=”varName” [scope=”{page|request|session|application}”]/>

語法2:使用value屬性設置一個特定範圍中的屬性,並且帶有一個body。

     <c:set var=”varName” [scope=”{page|request|session|application}”]>

     body content

     </c:set>

語法3:設置某個特定對象的一個屬性。

    <c:set value=”value” target=”target” property=”propertyName”/>

語法4:設置某個特定對象的一個屬性,並且標籤帶有一個body。

    <c:set target=”target” property=”propertyName”>

     Body content

     </c:set>

屬性:

value:Object,將要計算的表達式

var:String,用於表示value值的屬性

scope:String,var的有效範圍

target:String,將要設置屬性的對象,它必須是JavaBeans或者java.util.Map對象

property:Object,待設置的Target對象中的屬性名字

3、<c:remove>這個標籤用於刪除某個變量或者屬性

語法:

<c:remove var=”varName” [scope=”{page|request|session|application}”]/>

屬性:

Scope:String,這個參數的範圍。

Var:String,待刪除參數的名字

4、<c:catch>捕獲由嵌套在它裏面的標籤拋出的異常。

語法:

    <c:catch [var=”varName”]>

         Nestedactions

     </c:catch>

屬性:

var:String,用於標示這個異常的名字

三、條件標籤

在JSTL中,條件標籤有;

<c:if>

<c:choose>

<c:when>

<c:otherwise>

下面將分別介紹。

1、<c:if>用於進行條件判斷,如果它的Test屬性爲true,那麼就計算它的body

語法1:無body的情況。

    <c:if test=”testCondition” var=”varName”[scope={page|request|session|application}]/>

語法2:有bosy的情況。

    <c:if

test=”testCondition”

[var=”varName”]

[scope={page|request|session|application}]>

Body content

</c:if>

屬性:

Test:Boolean,表達式的條件

Var:String,test條件表達式計算的值,它的類型爲Boolean

Scope:String,var的範圍

2、<c:choose>用於條件選擇,它和<c:when>以及<c:otherwise>一起使用。

語法:

    <c:choose>

     Body content(<when> and<otherwise> subtags)

     </choose>

注意:它的body內容只能由以下的元素構成:

    空格。

    0個或者多個<when>子標籤,<when>必須在<otherwise>標籤之前出現。

    0個或者多個<otherwise>子標籤。

3、

<c:when>

它代表了<c:choose>的一個條件分支。

語法:

    <c:when test=”testCondition”>

     Body content

     </c:when>

屬性:

Test:Boolean,表達式的條件

它的使用有兩個限制:

    必須以<c:choose>作爲它的父標籤。

    必須在<c:othewise>之前出現。

 4、<c:otherwise>它代表了<c:choose>的最後選擇。

語法:

    <c:otherwise>

     Conditional block

     </c:otherwise>

它的使用有兩個限制

    必須以<c:choose>作爲它的父標籤。

    必須是<c:choose>的最後分支出現。


四、迭代標籤

在JSTL中,迭代標籤有:

<c:forEach>

<c:forTokens>

1、<c:forEach>

–標籤用於對包含了多個對象的集合進行迭代,重複執行它的標籤體,或者重複迭代固定的次數。
在一個包括一系列對象的Collection中迭代計算它的BodyContent,或者重複迭代固定的次數。

語法1:在Collection中迭代。

<c:forEach

[var=”varName”]

items=”collection”

[varStatus=”varStatusName”]

[begin=”begin”]

[end=”end”] [step=”step”]>

Body content

</c:forEach>

語法2:迭代固定的次數。

<c:forEach

[var=”varName”]

[varStatus=”varStatusName”]

begin=”begin”

end=”end”

[step=”step”]>

Body content

</c:forEach>

屬性:

var:String,迭代參數的名字。

items:任何支持的類型,將要迭代的items的集合。

varStatus:String,表示迭代的狀態,可以訪問迭代自身的信息。

begin:Int,如果指定items,那麼就從items的index[begin]開始迭代;如果沒有指定items,那麼就從指定的index開始迭代,相當於for(int i=begin;;)語句。

end:Int,如果指定items,那麼就在items的index[end]結束迭代;如果沒有指定items,那麼就在指定的index結束迭代,相當於for(;i<end;)。

step:Int,迭代的步長。

2、<c:forTokens>標籤
–<c:forTokens>標籤用來瀏覽一字符串中所有的成員,其成員是由定義符號(Delimiters)所分隔的。

<c:forTokensitems=“a:b:c:d” delims=“:” var=“token”>

  <c:out value=“${token}” /> <br>

</c:forTokens>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章