对于外部 forEach 标记的所有值,内部 foreach 标记下的行会重复自身。 我的代码是
<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>
<td>
<c:choose><c:when test="${(r.beam_energy) ne 0}">
<fmt:formatNumber value="${r.beam_energy}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##" var="mm"></fmt:formatNumber>
${(mm)}
</c:when>
<c:otherwise>
${r.beam_energy}</c:otherwise></c:choose></td>
<td>
<c:choose><c:when test="${(r.st2_vs2_bag1_rb) > 0.0}">
<fmt:formatNumber value="${r.st2_vs2_bag1_rb}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##E0" var="mm"></fmt:formatNumber>
${(mm)}
</c:when>
<c:otherwise>
<c:out value="OFF"></c:out> </c:otherwise></c:choose></td>
<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>
<td>
<c:choose><c:when test="${(row.beam_energy) > 0.0}">
<fmt:formatNumber value="${row.beam_energy}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##" var="mm"></fmt:formatNumber>
${(mm)}
</c:when>
<c:otherwise>
${row.beam_energy}</c:otherwise></c:choose></td>
<td>
<c:choose><c:when test="${(row.st2_vs2_bag1_rb) > 0.0}">
<fmt:formatNumber value="${row.st2_vs2_bag1_rb}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##E0" var="mm"></fmt:formatNumber>
${(mm)}
</c:when>
<c:otherwise>
<c:out value="OFF"></c:out></c:otherwise></c:choose></td>
</c:forEach>
</c:forEach>
我希望仅对于外部 forEach 循环的一个值,仅应显示内部 forEach 循环的一个值。内部 forEach 循环行不应重复。
编辑-1 我显示的输出的形式是-
浅色显示的值(beam_current 10.01)对于灰色的每个值都会重复。假设外部 ForEach 标记有 22 行,则内部循环的每个值将重复 22 次。
我希望当beam_current为10时,仅以灰色显示10.01一次,然后内部forEach循环的另一个值应以灰色显示,对应于beam_current 20.02,依此类推。
最佳答案
对于内部循环,使用 c:forEach
的 end="0"
属性
它将迭代循环,仅针对内部 forEach 的第一项。
<c:set var="count" value="0" scope="page" />
<c:forEach var="row" items="${ref.refarray_vac1(param.datepicker)}">
<c:forEach var="r" items="${ref.refernece(param.ref_logtime)}" begin="${count}" end="${count}">
...
...
<c:set var="count" value="${count + 1}" scope="page" />
</c:forEach>
</c:forEach>
关于java - 如何停止内部重复行<c :forEach>tag of JSTL in JSP page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28688339/