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

时间:2016-01-18 14:02:21

标签: jsp el equals andromda

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

两个检查都返回true,所以显然有些事情不行。 产品status的类型为int,这是我的ProductStatuses类,由AndroMDA自动生成,因此位于.jar中:

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

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

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

有什么不对?

1 个答案:

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