varStatus是<c:forEach>jstl循環(huán)標(biāo)簽的一個(gè)屬性,varStatus屬性。就拿varStatus=“status”來說,事實(shí)上定義了一個(gè)status名的對象作為varStatus的綁定值。該綁定值也就是status封裝了當(dāng)前遍歷的狀態(tài),比如,可以從該對象上查看是遍歷到了第幾個(gè)元素:${status.count}
我們常會用c標(biāo)簽來遍歷需要的數(shù)據(jù),為了方便使用,varStatus屬性可以方便我們實(shí)現(xiàn)一些與行數(shù)相關(guān)的功能,如:奇數(shù)行、偶數(shù)行差異;最后一行特殊處理等等。先就varStatus屬性常用參數(shù)總結(jié)下:
${status.index} 輸出行號,從0開始。${status.count} 輸出行號,從1開始。${status.current} 當(dāng)前這次迭代的(集合中的)項(xiàng)${status.first} 判斷當(dāng)前項(xiàng)是否為集合中的第一項(xiàng),返回值為true或false${status.last} 判斷當(dāng)前項(xiàng)是否為集合中的最后一項(xiàng),返回值為true或falsebegin、end、step分別表示:起始序號,結(jié)束序號,跳躍步伐。
如:<c:forEach begin='1' end='5' step='2' items='${list}' var='item'>表示:操作list集合匯中1~5條數(shù)據(jù),不是逐條循環(huán),而是按每2個(gè)取值。即操作集合中的第1、3、5條數(shù)據(jù)。
下面是我從網(wǎng)上找的圖,覺得挺好,收藏了: c:forTokens items='12,34,56,78.89' delims=',' var='dailyPrice'>
<tr>
<td><c:out value='${dailyPrice}' /></td></tr>//以,號作為字符串分隔!變量名 delims屬性可以隨便加,可以有一個(gè)多或多個(gè) 作為分隔符
我們最常用的就是count和index,用來搞斑馬線表格
常見的用法的是<c:forEach var='varity' items='${sessionScope.myList}' varStatus='status'>
<!--實(shí)現(xiàn)斑馬線效果-->
<c:if test='${status.count%2==0}' >
<tr bgcolor='lightyellow'>
</c:if>
<c:if test='${status.count%2!=0}' >
<tr>
</c:if>
<td>Elements</td>
</tr>
</c:forEach>
<c:forEach var='varity' items='${sessionScope.myList}' varStatus='status'>
${status.first}/${status.last}
當(dāng)前:${status.current}
</c:forEach>
|