JSTL ForEach循环/数组或列表

时间:2013-03-03 23:17:42

标签: foreach jstl foreach-loop-container

我需要遍历项目,但我也在寻找一种方法来获取项目列表中的下一个或上一个元素,以便您可以在下面看到,我可以检查第二个项目是否以第一个项目开头。有没有办法存储List或Array中的元素?

   <c:forEach var="item" items="${entry.value.options}">                        
                    <c:set var="upper" value="${item.key }"/>
                    <c:choose>
                        <c:when test="${fn:startsWith(item, upper)}">
                            <c:if test="${item ne upper} }">
                                <ul>
                                    <li>
                                        <input class="parent" type="checkbox" name="criterias[${entry.key}]" value="${item.key}" />
                                        <label>${item.value}</label>
                                    </li>                                       
                                </ul>
                            </c:if>
                        </c:when>
                        <c:otherwise>
                        <li>
                            <input class="child" type="checkbox" name="criterias[${entry.key}]" value="${item.key}" />
                            <label>${item.value}</label>
                        </li>       
                        </c:otherwise>
                    </c:choose>             
    </c:forEach>    

非常感谢!

1 个答案:

答案 0 :(得分:2)

你可以将List<Item> list这样的结构传递给jsp,其中Item有自己的ArrayList,然后使用inner forEach。它比扁平结构更容易。

<c:forEach var="item" items="${list}">
Access here item if needed <c:out value="${item.value}"/>
   <c:forEach var="elem" items="${item}">
   ...
   Access here elem <c:out value="${elem.value}"/>
   ...
   </c:forEach>
</c:forEach>