java - 如何停止内部重复行<c :forEach>tag of JSTL in JSP page

标签 java jsp foreach jstl

对于外部 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 我显示的输出的形式是- enter image description here

浅色显示的值(beam_current 10.01)对于灰色的每个值都会重复。假设外部 ForEach 标记有 22 行,则内部循环的每个值将重复 22 次。

我希望当beam_current为10时,仅以灰色显示10.01一次,然后内部forEach循环的另一个值应以灰色显示,对应于beam_current 20.02,依此类推。

最佳答案

对于内部循环,使用 c:forEachend="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/

相关文章:

java - 使用参数构建多个对象并将它们传递给要添加到列表中的更多对象的最有效方法

java - Netbean 中的 Jframe 形式

java - 如何拒绝字符串和 double 输入?

java - 使用 javascript 在 JSP 中仅允许 0-9 位数字(甚至不包括 '.' [Dot])的正则表达式

php - 在 foreach() 表达式中,值是在键之前还是之后定义的?

javascript - 从 jsp onchange 下拉值调用 Javascript

java - 如何使用 <s :property/> tag 执行 JavaScript

jsp - tomcat 如何生成它的工作目录 *_jsp.java 文件,什么可能导致它生成零字节文件?

java - Spring 形式上的路径选择不起作用

mysql - 无法更新mysql中的数组值