c:forEach varStatus=status中 varStatus的属性简介
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或false
begin、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:forEach varStatus屬性
current當(dāng)前這次迭代的(集合中的)項(xiàng)
index當(dāng)前這次迭代從 0 開始的迭代索引
count當(dāng)前這次迭代從 1 開始的迭代計(jì)數(shù)
first用來表明當(dāng)前這輪迭代是否為第一次迭代的標(biāo)志
last用來表明當(dāng)前這輪迭代是否為最后一次迭代的標(biāo)志
begin屬性值
end屬性值
step屬性值?
?
寫個(gè)最近使用過的小例子:
<c:forEach items="${command.modelList}" var="model" varStatus="abc">
?<tr>
???<td><c:out value="${abc.count}"/></td>
???<td class="model">
????? <form:checkbox path="select" value="${abc.index}"/>
???? <label for="model1">${model.modelName}</label>
???? <p>${model.modelDesc}</p>
???</td>
???<td>
???? <form:select path = "modelList[${abc.index}].positionIdx" οnchange="selectPoss(this);">
?????? <option value="">請選擇</option>
?????? <form:option value="A" label="位置A"/>
?????? <form:option value="B" label="位置B"/>
?????? <form:option value="C" label="位置C"/>
?????? <form:option value="D" label="位置D"/>
?????? <form:option value="E" label="位置E"/>
?????? <form:option value="F" label="位置F"/>
????</form:select>
??</td>
??<td>
??? <a href="#" οnclick="getModelDetail(${model.modelID});"><img src="<%=request.getContextPath()%>/p_w_picpaths/edit.gif" alt="編輯"/></a>
??? <a href="#" οnclick="deleteModel(${model.modelID});"><img src="<%=request.getContextPath()%>/p_w_picpaths/delete.gif" alt="刪除" /></a>
? </td>
</tr>
? </c:forEach>
?
c:forEach varStatus屬性
?
index當(dāng)前這次迭代從 0 開始的迭代索引
count當(dāng)前這次迭代從 1 開始的迭代計(jì)數(shù)
first用來表明當(dāng)前這輪迭代是否為第一次迭代的標(biāo)志
last用來表明當(dāng)前這輪迭代是否為最后一次迭代的標(biāo)志
begin屬性值
end屬性值
step屬性值
例:
表格偶數(shù)行與奇數(shù)行顏色交替效果
<c:forEach items="${queryPromotionList}" var="vPromotion" varStatus="vstatus">
??????????? <c:choose>
??????????????? <c:when test="${vstatus.index%2==0}">
????? <tr bgcolor="#FFFFFF" height="40">
??????????????? </c:when>
??????????????? <c:otherwise>
??????? <tr bgcolor="#F3F3F5" height="40">
??????????????? </c:otherwise>
??????????? </c:choose>
?? <table class=table_body_bg cellspacing=1 cellpadding=1
??????????? width="100%" align=center border=0>
???????????? <c:forEach items="${list}" var="a" varStatus="vs">
???? <c:if test="${vs.count%5==1}">
?????? <tr align="left" height="20">
????? </c:if>?????????????
???????????? <td class=table_body_td width="20%"><a href="/aam/degree/advisorAnswer.do?sfid=${a.sfid }">${a.xm }(${a.sfid })</a></td>
???? <c:set var="count" value="${vs.count}"/>???????? //${vs.count}只在<c:forEach></c:forEach>的范圍內(nèi)有值 外部引用需要把值傳出去
???? </c:forEach>????
????? <c:if test="${count%5==1}">
????? <td class="table_body_td" width="20%"></td>
????? <td class="table_body_td" width="20%"></td>
????? <td class="table_body_td" width="20%"></td>
????? <td class="table_body_td" width="20%"></td>
????? </tr>
????? </c:if>
????
????? <c:if test="${count%5==2}">
????? <td class="table_body_td" width="20%"></td>
????? <td class="table_body_td" width="20%"></td>
????? <td class="table_body_td" width="20%"></td>????
????? </tr>
????? </c:if>
?????
????? <c:if test="${count%5==3}">
????? <td class="table_body_td" width="20%"></td>
????? <td class="table_body_td" width="20%"></td>
????? </tr>
????? </c:if>
?????
????? <c:if test="${count%5==4}">
????? <td class="table_body_td" width="20%"></td>
????? </tr>
????? </c:if>
????? <c:if test="${count%5==0}">
????? </tr>
????? </c:if>
???????????? </table>
不論是對整數(shù)還是對集合進(jìn)行迭代, <c:forEach> 剩余的屬性 varStatus 所起的作用相同。和 var 屬性一樣, varStatus 用于創(chuàng)建限定了作用域的變量。不過,由 varStatus 屬性命名的變量并不存儲當(dāng)前索引值或當(dāng)前元素,而是賦予 javax.servlet.jsp.jstl.core.LoopTagStatus 類的實(shí)例。
轉(zhuǎn)載于:https://blog.51cto.com/11372473/1957988
總結(jié)
以上是生活随笔為你收集整理的c:forEach varStatus=status中 varStatus的属性简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Window Function--the
- 下一篇: OpenShift Rancher 进行