我目前有一个.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
?
感谢您的帮助。
答案 0 :(得分:2)
EL ${bean.attribute}
会尝试调用getAttribute()
的方法isAttribute()
或bean
。
因此,在您的情况下,${cart.isCartListEmpty}
会在getIsCartListEmpty()
中查找方法isIsCartListEmpty()
或cart
。
因此您需要${cart.cartListEmpty}
调用appripriate isCartListEmpty()
方法。
附注:
eq true
部分,因为isCartListEmpty()
已经返回布尔值。isCartListEmpty()
方法正文简化为return this.cart.isEmpty()
。