2016-01-18 102 views
-1

我有這樣的檢查在我的JSP來比較JSP值:如何使用JSP表達式語言(EL)

<logic:equal name="${product.status}" value="${ProductStatuses.SOLD}"> 
    // do something 
</logic:equal> 

<logic:equal name="${product.status}" value="${ProductStatuses.IN_STOCK}"> 
    // do something else 
</logic:equal> 

兩個檢查都返回true,所以很明顯的東西也不行。 該產品的statusint型的,在這裏是由AndroMDA的自動生成的,因此我的ProductStatuses類在一個.jar:

public interface ProductStatuses { 
    /** 
    * @author andromda 
    */ 
    int SOLD = 1; 

    /** 
    * @author andromda 
    */ 
    int IN_STOCK = 2; 

    /** 
    * @author andromda 
    */ 
    int N_A = 0; 
} 

什麼可能是錯誤的?

回答

0

好吧,我有一個解決方案。 jsp的比較不好。這是它是如何工作的:

<logic:equal name="product" property="status" value="<%=String.valueOf(ProductStatuses.SOLD)%>"> 
    // do something 
</logic:equal> 

<logic:equal name="product" property="status" value="<%=String.valueOf(ProductStatuses.IN_STOCK)%>"> 
    // do something else 
</logic:equal> 
相關問題