繁体   English   中英

JSTL <c:if> 标签-检查Java Bean方法是否返回True

[英]JSTL <c:if> tag - Checking whether Java Bean method returns True

我目前有一个.jsp文件,如下所示(部分显示):

<jsp:useBean id="cart" class="edu.unsw.comp9321.assignment1.CartBean"
scope="session" />  
<tr>
    <td><input type="submit" name="cartBtn" value="Go To Checkout"/></td>
    <td><input type="submit" name="cartBtn" value="Remove From Cart"/></td>
    <c:if test="${cart.isCartListEmpty eq true}"> 
        <td><input type="submit" name="cartBtn" value="Back To Search"/></td>
    </c:if> 
</tr>       

Bean cart具有以下代码:

public boolean isCartListEmpty(){
    if (this.cart.isEmpty())
        return true;
    return false;
}

问题是我在以下行出现错误:

<c:if test="${cart.isCartListEmpty eq true}">

有人可以告诉我评估bean方法返回的是true还是false的正确方法吗?

谢谢您的帮助。

EL ${bean.attribute}将尝试调用bean getAttribute()isAttribute()方法。

因此,在您的情况下, ${cart.isCartListEmpty}将在cart寻找getIsCartListEmpty()isIsCartListEmpty()方法。

因此,您需要的是${cart.cartListEmpty}来调用适当的isCartListEmpty()方法。


旁注:

  1. 无需添加eq true部分,因为isCartListEmpty()已经返回了一个布尔值。
  2. 您可以(应该?)简化您的isCartListEmpty()方法主体以return this.cart.isEmpty()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM