<%@taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>
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。
字符 |
字符實體 |
< |
< |
> |
> |
& |
& |
‘ “ |
' " |
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>
語法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:forTokensitems=“a:b:c:d” delims=“:” var=“token”>
<c:out value=“${token}” /> <br>
</c:forTokens>