Java struts2:在IF中枚举
以下Java条件如何在struts2中转换为Java struts2:在IF中枚举,java,struts2,el,ognl,Java,Struts2,El,Ognl,以下Java条件如何在struts2中转换为s:if test=“…” company.getAffiliateId()返回BigDecimal com.foo.bar.Affiliates是一个enum 这不起作用: <s:if test="%{company.affiliateId.asInt() != com.foo.bar.Affiliates.XYZ.asInt() }"> alert("do something"); </s:if> 警惕(“做某事”
s:if test=“…”
company.getAffiliateId()返回BigDecimal
com.foo.bar.Affiliates是一个enum
这不起作用:
<s:if test="%{company.affiliateId.asInt() != com.foo.bar.Affiliates.XYZ.asInt() }">
alert("do something");
</s:if>
警惕(“做某事”);
使用toString
方法比较枚举
<s:if test="ENUM.toString() == 'some_enum_as_string'">
明白了,这对我有用:
<s:if test="%{company.affiliateId != @com.foo.bar.Affiliates@XZY.asBigDecimal() }">
我认为enum类是基于数据库表生成的。其中没有静态方法:private int id;私有子公司(int-id){this.id=id;}public-BigDecimal-asBigDecimal(){return-BigDecimal.valueOf(id);}public-int-asInt(){return-id;}
<s:if test="@package.ENUM@enumvalue.toString() == 'some_enum_as_string'">
<s:if test="%{company.affiliateId != @com.foo.bar.Affiliates@XZY.asBigDecimal() }">