簡體   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