JSTL<;c:如果>;标记-检查JavaBean方法是否返回True

JSTL<;c:如果>;标记-检查JavaBean方法是否返回True,java,if-statement,jstl,javabeans,Java,If Statement,Jstl,Javabeans,我目前有一个.jsp文件,如下所示(部分显示): 问题是我在以下行中遇到错误: <c:if test="${cart.isCartListEmpty eq true}"> 有人能告诉我评估bean方法是返回true还是false的正确方法吗 谢谢您的帮助。EL${bean.attribute}将尝试调用bean的方法getAttribute()或isAttribute() 因此,在您的情况下,${cart.isCartListEmpty}将在您的购物车中查找方法getIsCar

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

问题是我在以下行中遇到错误:

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

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


谢谢您的帮助。

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

因此,在您的情况下,
${cart.isCartListEmpty}
将在您的
购物车中查找方法
getIsCartListEmpty()
isIsCartListEmpty()

因此,您需要
${cart.cartListEmpty}
调用appripriate
isCartListEmpty()
方法


旁注:

  • 无需添加
    eq true
    部分,因为
    isCartListEmpty()
    已返回布尔值
  • 您可以(应该?)简化
    isCartListEmpty()
    方法主体,以
    返回此.cart.isEmpty()

  • 您是否可以尝试使用
    test=“${cart.cartListEmpty}”
    ?另外,
    如果条件返回true,否则返回false
    应该通过
    返回条件
    @sp00m简化,谢谢。这似乎解决了问题!
    public boolean isCartListEmpty(){
        if (this.cart.isEmpty())
            return true;
        return false;
    }
    
    <c:if test="${cart.isCartListEmpty eq true}">