【问题标题】:How can I get element from list in JSTL (not forEach)? [duplicate]如何从 JSTL 中的列表中获取元素(不是 forEach)? [复制]
【发布时间】:2017-03-16 10:15:38
【问题描述】:

我在forEach 中,想获得一个元素(来自listName),其比例ID 为forEach 循环元素。

<% i=0; %>
<c:forEach var="account" items="${ctx.model.accounts}">
    <c:out value="${listName.get(${i})}" />
    <% i++; %>
</c:forEach>

这可能吗?

我的意思是${listName.get(${i})}当然是错的,但我怎么能得到它。

【问题讨论】:

    标签: jsp jstl


    【解决方案1】:

    您不需要 scriptlet 来实现这一点。

    <c:forEach var="account" items="${ctx.model.accounts}" varStatus="loopStatus">
        <c:out value="${listName[loopStatus.index]}" />
    </c:forEach>
    

    但是,恕我直言,您有两个并行列表的事实是一种气味。为什么没有一个列表,其中每个元素都允许访问帐户和列表名称中的相应元素?

    【讨论】:

    • 因为我需要用 super(); 创建新的模型类;并只添加一个属性...
    • 但是,您的解决方案是正确的,谢谢!
    【解决方案2】:

    ${listName[i]} 将为您提供来自listName 的元素。

    详情请查看Get specific element in a list or array using EL

    【讨论】:

    • 收到警告:cannot resolve property or method 'i' (dynamic property?)
    • 按照 JB 的建议,最好使用 varStatus
    猜你喜欢
    • 2013-01-13
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 2022-07-09
    • 2016-05-05
    相关资源
    最近更新 更多