如何在java </c:foreach>中的jstl中正确嵌套<c:foreach>循环

时间:2015-02-24 07:20:42

标签: java foreach jstl

我有两个返回两个列表的方法。现在我想显示我的输出,如

row1 of list1
row1 of list2
difference in values of row1
row2 of list1
row2 of list2
difference in values of row2

为此,我尝试了这种方式 -

<c:forEach var="row" items="${ref.refarray_vac1(param.datepicker)}">
<c:forEach var="r" items="${ref.refernece(param.ref_logtime)}"> 

<tr bgcolor="darkgray ">
<td><c:out value="${r.logtime}"></c:out></td>

<td>
<c:choose><c:when test="${(r.beam_current) ne 0}"> 
<fmt:formatNumber value="${r.beam_current}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##" var="mm"></fmt:formatNumber>
${(mm)}
</c:when>
<c:otherwise>
${r.beam_current}</c:otherwise></c:choose></td>
</tr>

<!-- For user_selection color name-- darkkhaki -->

<tr bgcolor="cornsilk">

<td><c:out value="${row.logtime}"></c:out></td>

<td>
<c:choose><c:when test="${(row.beam_current) > 0.0}"> 
<fmt:formatNumber value="${row.beam_current}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##" var="mm"></fmt:formatNumber>
${(mm)}
</c:when>
<c:otherwise>
${row.beam_current}</c:otherwise></c:choose></td>
<tr>

<td>Deviation</td>
<td bgcolor="lime"><c:out value="${r.beam_current-row.beam_current}"></c:out></td>

但是当我这样做时,我得到的结果为 -

row1 of list1
row1 of list2
difference in values of row1
row2 of list1
row1 of list2
difference in values of row2 and row1

我不想重复由于外部ForEach循环标记重复的值

1 个答案:

答案 0 :(得分:0)

我只创建一个对列表(list1中的行,list2中的行),然后使用一个<c:forEach var="pairRow" items="${thePairsList}">

目前你实际上已经嵌套了循环。