qq_41712950 2019-04-28 17:42 采纳率: 41.2%
浏览 1049

c:foreach和c:if嵌套使用的问题

原代码:

<c:forEach var="category" items="<%=c %>">
    price=${category.value.price  }  low=${low } high= ${high }

<div class="product-item bg-light">
    <div class="card">
        <div class="thumb-content">
            <!-- <div class="price">$200</div> -->
            <a href="./ListProduct?id=${category.value.ID} ">
                <img class="card-img-top img-fluid" src="${category.value.imageURL }" alt="Card image cap">
            </a>
        </div>
        <div class="card-body">
            <h4 class="card-title"><a href="./ListProduct?id=${category.value.ID}">${category.value.name }</a></h4>
            <ul class="list-inline product-meta">
                <li class="list-inline-item">
                    <a href=""><i class="fa fa-folder-open-o"></i>Electronics</a>
                </li>
                <li class="list-inline-item">
                    <a href=""><i class="fa fa-calendar"></i>26th December</a>
                </li>
            </ul>
            <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Explicabo, aliquam!</p>
            <div class="product-ratings">
                <ul class="list-inline">
                    <li class="list-inline-item selected"><i class="fa fa-star"></i></li>
                    <li class="list-inline-item selected"><i class="fa fa-star"></i></li>
                    <li class="list-inline-item selected"><i class="fa fa-star"></i></li>
                    <li class="list-inline-item selected"><i class="fa fa-star"></i></li>
                    <li class="list-inline-item"><i class="fa fa-star"></i>价格:${category.value.price }</li>
                </ul>
            </div>
        </div>
    </div>
</div>




</c:forEach>

加入C:if标签后

<c:forEach var="category" items="<%=c %>">
    price=${category.value.price  }  low=${low } high= ${high }
**<c:if test="${1} ">**

<div class="product-item bg-light">
    <div class="card">
        <div class="thumb-content">
            <!-- <div class="price">$200</div> -->
            <a href="./ListProduct?id=${category.value.ID} ">
                <img class="card-img-top img-fluid" src="${category.value.imageURL }" alt="Card image cap">
            </a>
        </div>
        <div class="card-body">
            <h4 class="card-title"><a href="./ListProduct?id=${category.value.ID}">${category.value.name }</a></h4>
            <ul class="list-inline product-meta">
                <li class="list-inline-item">
                    <a href=""><i class="fa fa-folder-open-o"></i>Electronics</a>
                </li>
                <li class="list-inline-item">
                    <a href=""><i class="fa fa-calendar"></i>26th December</a>
                </li>
            </ul>
            <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Explicabo, aliquam!</p>
            <div class="product-ratings">
                <ul class="list-inline">
                    <li class="list-inline-item selected"><i class="fa fa-star"></i></li>
                    <li class="list-inline-item selected"><i class="fa fa-star"></i></li>
                    <li class="list-inline-item selected"><i class="fa fa-star"></i></li>
                    <li class="list-inline-item selected"><i class="fa fa-star"></i></li>
                    <li class="list-inline-item"><i class="fa fa-star"></i>价格:${category.value.price }</li>
                </ul>
            </div>
        </div>
    </div>
</div>




**  </c:if>**
</c:forEach>  

使用c:foreach正常显示,但是加了c:if后显示不出来了,不管怎么写test语句
这是什么原因呢

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-09 05:14
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在你的代码中,你尝试将一个<c:if>标签与<c:forEach>标签结合使用。然而,当你这样做时,你需要确保<c:if>标签的条件是有效的,并且它能够正确地控制<c:forEach>循环。

    在你的例子中,你试图在<c:forEach>标签内部添加一个新的<c:if>标签来测试一个布尔值(即1)。这可能不会工作,因为<c:if>标签本身并不接受任何参数作为测试条件。如果你想要在一个<c:forEach>循环内部进行条件判断,你应该直接在循环内部进行这些操作。

    以下是一个修改后的示例,展示如何在<c:forEach>循环内部添加<c:if>标签:

    <c:forEach var="category" items="<%=c %>">
    
        <c:if test="${category.value.price <= 10}">
            <div class="product-item bg-light">
                <!-- ... -->
            </div>
        </c:if>
    
        <div class="product-item bg-light">
            <!-- ... -->
        </div>
    
    </c:forEach>
    

    在这个例子中,我们只在价格小于等于10的产品上添加了一个新的<div>元素。这样做的目的是让所有价格大于或等于10的商品都出现在页面上,而那些价格小于10的商品则被移除。

    评论

报告相同问题?