【问题标题】:JSP/JSTL - How to loop through a list within a list?JSP/JSTL - 如何遍历列表中的列表?
【发布时间】:2015-06-22 16:00:08
【问题描述】:

我刚刚开始学习 JSTL,所以我可能会遗漏一些明显的东西,但是你如何遍历一个通过 ArrayList .get() 方法获得的列表。我可能需要使用计数器进行迭代,即 .get(i)。

JSP 代码:

<c:forEach items="${processVariablesList}" var="customerHistoryVariables">
    <c:forEach items="${processVariablesList.get(0)}" var="variable">
        <li><strong>${variable.getName()}: </strong>${variable.getValue()}</li>
    </c:forEach>
</c:forEach>

Servlet 代码:

ArrayList<List<HistoricVariableInstance>> processVariablesList = new ArrayList<List<HistoricVariableInstance>>();

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

                String processId = processList.get(i).getId();

                List<HistoricVariableInstance> variableList = historyService.createHistoricVariableInstanceQuery()
                        .processInstanceId(processId).list();

                processVariablesList.add(variableList);

            }

【问题讨论】:

  • 你只需要访问内部列表的第一个元素吗?
  • 不,我上面的代码是我目前正在工作的,但我想像你在 for 循环中那样迭代,即 int i = 0, i++, .get(i )。我只是不知道如何使用 jstl 实现这一目标。
  • 与迭代外循环的方式相同。在内循环的项目中使用外循环变量。

标签: java jsp servlets jstl


【解决方案1】:

写这个:

<c:forEach items="${processVariablesList}" var="customerHistoryVariables">
    <c:forEach items="${customerHistoryVariables}" var="variable">
         <li><strong>${variable.getName()}: </strong>${variable.getValue()}</li>
    </c:forEach>
</c:forEach>

【讨论】:

  • 是的,这行得通。我不敢相信我以前没有得到这个。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 2012-12-12
  • 2014-01-08
  • 1970-01-01
  • 2014-03-20
相关资源
最近更新 更多