【发布时间】:2017-06-19 03:46:58
【问题描述】:
我试图在 JSP 页面中获取枚举值,但出现异常
org.apache.jasper.JasperException: javax.el.MethodNotFoundException: Method not found: class org.hibernate.collection.internal.PersistentSet.getFieldType()
包 com.nfdil.loyalty.enums;
public enum FieldTypeEnum {
TEXT_BOX("TEXT_BOX"), CHECK_BOX("CHECK_BOX");
private String fieldType;
private FieldTypeEnum(String fieldType) {
this.fieldType = fieldType;
}
public String getFieldType() {
return fieldType;
}
}
JSP 页面中的代码:
<c:when test="${programFuncFileds.getFieldType() == FieldTypeEnum.TEXT_BOX.getFiledType()}">
</c:when>
我不想使用任何硬代码。
这里有参考表格Access Enum value using EL with JSTL
但我的问题没有解决。
【问题讨论】:
-
似乎 programFuncFileds 对象没有 getFieldType 方法。您应该检查它是否是正确的对象。
-
你可以减少你的枚举代码。 fieldType 参数不是必需的,因为 fieldType 字符串与常量本身相同。只需定义一个没有任何字段和方法的枚举。要获取枚举常量的字符串,可以使用 TEXT_BOX.name()。