JSTL解析——004——core標籤庫03

上面章節主要講解<c:forEach>標籤,下面講解其它標籤 html

一、<c:forTokens>標籤

forTokens標籤與forEach標籤相似,獨有begin、end、step、items等屬性,能夠循環,不一樣之處是forTokens標籤裏面是字符串 java

<c:forTokens items="Jane,Toni,Andy,hedix"  delims="," var="item" varStatus="status" begin="1" end="4" step="2">

<tr>

<td>${status.index}</td>

<td>${item}</td>

</tr>

</c:forTokens>

輸出結果能夠本身親手試試看,下面解析一下各個屬性的做用,delim是相似分割點的意思,varStatus遍歷對象的信息,其中${status.index}的輸出當前對象是第幾個 session

二、<c:set>標籤

一個頁面有時候須要統計一些數字,好比當前用戶登陸次數,當前頁面總訪問人數等 app

set標籤能夠幫我完成這些功能,它總共有五個屬性(var、value、scope、target和poperty) 網站

1) spa

<c:set var="totalCount" value="${totalCount+1}" scope="application"></c:set>

<c:set var="count" value="${count+1}" scope="session"></c:set>

<tr>

<td>網站總訪問數:${totalCount}</td>

<td>其中您的訪問次數:${count}</td>

</tr>
下面解析一下屬性意義:var就是set的對象,value就是set進去的值,scope聲明該對象的做用範圍

2) code

<%

request.setAttribute("person",new com.bean.Person());

request.setAttribute("map", new java.util.HashMap());

%>

<c:set target="${person} property="name" value="${param.name}"></c:set>

<c:set var="${map} property="name" value="${param.name}"></c:set>

<tr>

<td>${person.name}</td>

<td>${map.name}</td>

</tr>
信息的朋友會問,爲何下面的買看見var屬性呢?問的很好

實際上var和target屬性是相互排斥和互助的,也就是說有var就沒target,各有各的做用,下面說說它們的不一樣之處 htm

var不能接受EL表達式的,但target必須接受EL表達式 對象

target只能用來操做javaBean或者Map rem

target通常和property組合使用,其中property對應的是target對象的屬性,若是target是Map,則porperty對應的是key值

請注意(target是不該許對象爲null的)

var和target不能同時使用在一個標籤裏面

三、<c:remove>標籤

remove標籤的做用和set標籤的做用恰好相反,remove有兩個屬性,var和scope,同set同樣var屬性只接受字符串不接受EL表達式

<%

request.setAttribute("test", new java.util.HashMap());

%>

<c:remove var="test ></c:remove>

<tr>

<td>${test ==null ?'test對象已經被刪除':'test對象沒有被刪除'}</td>

</tr>
其中當test是的空的時候,不會報錯

四、<c:catch>標籤

你們一看到這個標籤應該能纔出來是捕捉異常的,確實是這樣的,catch只有var一個屬性

<c:catch var="test >

<c:set target="${person}" property="name" value="some value"></c:set>

</c:catch>

<tr>

<td><c:if test="${test!=null}">程序報錯,錯誤內容:${test.class.name}</c:if></td>

</tr>
相關文章
相關標籤/搜索