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}
调用appripriateisCartListEmpty()
方法
旁注:
无需添加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}">