java - Spring MVC JSP JSTL 退出每个带有 boolean 值的循环

标签 java spring jsp spring-mvc jstl

我在 jsp 中使用了 2 个模型:

<c:forEach items="${ch}" var="contractHeader">
    Display data ...

    <table>
    Display TD

    <c:forEach items="${ce}" var="contractEntitlement">
        <c:if test="${contractHeader.id ==  contractEntitlement.chId}" >
        Display TR
        </c:if>
    </c:forEach>
</c:forEach>

据此,只有contractHeader中的id等于contractEntitlement中的chid时才会显示记录。这可行,但问题是如果没有contractEntitlement 记录,TD 仍会显示空表。

我想使用 boolean 值为 TD 添加一个额外条件来执行以下操作:

boolean test = false;
<c:forEach items="${ce}" var="contractEntitlement">

    <c:if test="${contractHeader.id ==  contractEntitlement.chId}" >
        test = true;
        exit loop;
    </c:if>
</c:foreach>

    if (test) 
    <table>
       Show TD

       Use exisiitng code to loop thru each records
   </table>

输出是,如果没有记录,则根本不创建表,任何帮助将不胜感激。

最佳答案

首先,我认为TR应该在TD之外。你在TR之外有TD,这是错误的。除此之外,我尝试的解决方法是尝试将 TD 放入 if 语句中?像这样:

<forEach ....>
<table>
<c:forEach items="${ce}" var="contractEntitlement">
    <c:if test="${contractHeader.id ==  contractEntitlement.chId}" >
    Display TR
    Display TD .... END OF DISPLAY TD
    Display TR, end of
    </c:if>
</c:forEach>
</table>
</forEach ...>

编辑:

或者,如果您想保持表格结构不变,那么您可以尝试使用 CSS 隐藏空单元格/列。

给你的表一个这样的类:

table class="myTable"

然后,使用这个CSS里面<head> ... </head>

<style>
.myTable{ 
empty-cells: hide; 
}
</style>

像这样玩,我相信你能够隐藏 TD...

编辑2:

在阅读OP的进一步评论后,OP应该尝试将整个表创建的事情放在if语句中。当 if 语句为 true 时,才会创建一个新表。它看起来像这样:

<forEach ....>   
<c:forEach items="${ce}" var="contractEntitlement">
    <c:if test="${contractHeader.id ==  contractEntitlement.chId}" >
    <table>
    Display TR
    Display TD .... END OF DISPLAY TD
    Display TR, end of
    </table>
    </c:if>       
</c:forEach>   
</forEach ...>

关于java - Spring MVC JSP JSTL 退出每个带有 boolean 值的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44148379/

相关文章:

java - JSP 作为电子邮件模板

java - JButton 单击时会在文本周围留下一些边框

java - 构建spring框架源码遇到错误

spring - Spark/Spring验证API依赖项冲突

java - 如何从 Spring Cloud Config Server 设置系统变量

java - java中如何获取名称等于方法和字符串的输入隐藏字段的数据

java - 使用 Apache commons FileUpload

java - 多线程环境下使用的Hashmap

java - 如何自动调整命名谷歌工作表的尺寸

spring - 使用 Hystrix 断路器暂停/恢复 JMS 监听器