當前位置:吉日网官网 - 紀念幣收藏 - java web開發中 varStatues="status" 中參數status是啥作用和意思呢?這個參數的設置有啥要求呢?

java web開發中 varStatues="status" 中參數status是啥作用和意思呢?這個參數的設置有啥要求呢?

java web開發中 varStatues="status" 中參數status的含義:

估計不錯的話,說的這個是<c:forEach>jstl循環標簽的壹個屬性,varStatus屬性就拿varStatus=“status”來說,事實上定義了壹個status名的對象作為varStatus的綁定值

該綁定值也就是status封裝了當前遍歷的狀態,比如,可以從該對象上查看是遍歷到了第幾個元素:${status.count}。

<c:forEach varStatus="status">中 varStatus的屬性簡介:

我們常會用c標簽來遍歷需要的數據,為了方便使用,varStatus屬性可以方便我們實現壹些與行數相關的功能,如:奇數行、偶數行差異;最後壹行特殊處理等等。先就varStatus屬性常用參數總結下:

${status.index} ?輸出行號,從0開始。

${status.count} ?輸出行號,從1開始。

${status.current} ?當前這次叠代的(集合中的)項

${status.first} ?判斷當前項是否為集合中的第壹項,返回值為true或false

${status.last} ? 判斷當前項是否為集合中的最後壹項,返回值為true或false

begin、end、step分別表示:起始序號,結束序號,跳躍步伐。

如:<c:forEach begin='1' end='5' step='2' items='${list}' var='item'>

表示:操作list集合匯中1~5條數據,不是逐條循環,而是按每2個取值。即操作集合中的第1、3、5條數據。

下面是我從網上找的圖,覺得挺好,收藏了:

c:forEach varStatus屬性

current當前這次叠代的(集合中的)項

index當前這次叠代從 0 開始的叠代索引

count當前這次叠代從 1 開始的叠代計數

first用來表明當前這輪叠代是否為第壹次叠代的標誌

last用來表明當前這輪叠代是否為最後壹次叠代的標誌

begin屬性值

end屬性值

step屬性值?

寫個最近使用過的小例子:

<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" onchange="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="#" onclick="getModelDetail(${model.modelID});"><img src="<%=request.getContextPath()%>/images/edit.gif" alt="編輯"/></a>

<a href="#" onclick="deleteModel(${model.modelID});"><img src="<%=request.getContextPath()%>/images/delete.gif" alt="刪除" /></a>

</td>

</tr>

</c:forEach>

c:forEach varStatus屬性

index當前這次叠代從 0 開始的叠代索引?

count當前這次叠代從 1 開始的叠代計數?

first用來表明當前這輪叠代是否為第壹次叠代的標誌?

last用來表明當前這輪叠代是否為最後壹次叠代的標誌?

begin屬性值?

end屬性值?

step屬性值

例:

表格偶數行與奇數行顏色交替效果

<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>的範圍內有值 外部引用需要把值傳出去

</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>

不論是對整數還是對集合進行叠代, <c:forEach> 剩余的屬性 varStatus 所起的作用相同。和 var 屬性壹樣, varStatus 用於創建限定了作用域的變量。不過,由 varStatus 屬性命名的變量並不存儲當前索引值或當前元素,而是賦予 javax.servlet.jsp.jstl.core.LoopTagStatus 類的實例。

  • 上一篇:四年級作文第壹卷《妳_ _ _ _》
  • 下一篇:幼兒園的童謠有哪些?
  • copyright 2024吉日网官网