使用forEach命令按索引访问元素

时间:2011-12-13 09:11:02

标签: java jsp foreach jstl

我希望按索引访问值,因为我需要在列表的一半上循环并在两列上显示值...所以我需要使用索引值+ x

<c:forEach var="endValue" items="${endValue.list}" end="${lngth-1}" varStatus="status">
    <c:out value="${endValue.list[status.index+5].id}"/>
</c:forEach>

显示标记值无效

编辑:

//controler
@ModelAttribute("endValue")
public EndValueListWrapper populateDataList() {
    final EndValueListWrapper listForm = new EndValueListWrapper();
    ...
    return listForm
}

public class EndValueListWrapper {

   private List<EndValueForm> list;

   // get and set for this list
}

public class EndValueForm{
   private Strind id
   ...
}

1 个答案:

答案 0 :(得分:1)

我很确定这不会像你期望的那样有效。查看JSTL tag lib referenceendValue是items集合中的单个实例,因此尝试迭代endValue.list并调用该集合中的每个实例endValue是没有意义的。 lngth在哪里定义?如果你的长度为-1,你甚至不需要明确地设置end

<c:forEach items="${teams}" varStatus="status">
   <c:set var="desiredTeam" value="${teams[status.index+5]}" /> 
   <c:out value="${desiredTeam.id}"/>
</c:forEach>

......或类似的东西。