【问题标题】:JSTL ForEach Loop/ Array or ListJSTL ForEach 循环/数组或列表
【发布时间】:2013-03-03 23:17:42
【问题描述】:

我需要遍历项目,但我也在寻找一种方法来获取项目列表中的下一个或上一个元素,以便如下所示,我可以检查第二个项目是否从第一个项目开始。有没有办法可以将元素存储在 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>    

非常感谢!

【问题讨论】:

    标签: foreach jstl foreach-loop-container


    【解决方案1】:

    您可以将类似List&lt;Item&gt; list 的结构传递给jsp,其中Item 有自己的ArrayList,然后使用内部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>
    

    【讨论】:

    • 嗨,Alexey,对不起,我不明白。如何比较 List 中的上一个和下一个元素。在我的情况下 entry.value.options 已经是一个列表。我无法在后端进行任何更改。
    猜你喜欢
    • 2014-03-03
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多