Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java struts2:在IF中枚举_Java_Struts2_El_Ognl - Fatal编程技术网

Java struts2:在IF中枚举

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> 警惕(“做某事”

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

警惕(“做某事”);

使用
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() }">