如何使用 JSP 表达式语言 (EL) 比较 jsp 中的值

How to compare values in jsp using JSP Expression Language (EL)

我有这张支票 jsp:

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

两者都检查 return 为真,所以显然有些地方不对。 产品的 status 类型为 int,这是我的 ProductStatuses class,它由 AndroMDA 自动生成,因此位于 .jar 中:

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

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

    /**
     * @author andromda
     */
    int N_A = 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>