JSTL標籤循環遍歷

我有一個後臺servlet過來的集合,不是某一個具體對象的,而且還是一個雙重循環。

    <% List list = (List) request.getParameter("list");

所以在JSP頁面就不能再這樣了

for(int i=0;i<list.size();i++)

因爲.size()是不能用的。

用JSTL標籤

c:forEach標籤的items屬性支持Java平臺所提供的所有標準集合類型。

varStatus用於創建限定了作用域的變量(該變量只在當前標籤體內起作用)。不過,由varStatus屬性命名的變量並不存儲當前索引值或當前元素,而是賦予javax.servlet.jsp.jstl.core.LoopTagStatus類的實例。

current:當前這次迭代的(集合中的)項。
index:當前這次迭代從0開始的迭代索引。
count:當前這次迭代從1開始的迭代計數。
first:用來表明當前這輪迭代是否爲第一次迭代,該屬性爲boolean類型。
last:用來表明當前這輪迭代是否爲最後一次迭代,該屬性爲boolean類型。
begin:begin屬性的值。
step:step屬性的值

先導入標籤庫

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

我想要遍歷出我想要的值,所以用<c:if>條件 <c:if/> 進行判斷

<table>
        <tr>
            <td>學生學號</td>
            <td>學生姓名</td>
            <td>學生班級</td>           
            <td>分數</td>     
        </tr>
        <c:forEach items="${requestScope.OneScoreList}" var="row" varStatus = "f1"> //OneScoreList是後臺setAttribute("OneScoreList",list)的值
            <tr>
                <c:forEach items="${row}" var="item" varStatus="f2" begin="0">             
                    <c:if test="${f2.index==0 }">
                        <td><c:out value="${item}" /></td>
                        <c:set var="stuid" value="${item}" />
                    </c:if>
                    <c:if test="${f2.index==1 }">
                        <td><c:out value="${item}" /></td>
                    </c:if>
                    <c:if test="${f2.index==2 }">
                        <td><c:out value="${item}" /></td>
                    </c:if>             
                    <c:if test="${f2.index==7 }">
                        <td><c:out value="${item}" /></td>
                    </c:if>
                </c:forEach>                
            </tr>
        </c:forEach>
    </table>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章