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

但是我的问题没有解决。

最佳答案

解决方法是:

<c:set var="filedTypeEnum" value="<%=FieldTypeEnum.TEXT_BOX.getFieldType()%>" />

<c:when test="${programFuncFields.getFieldType() == filedTypeEnum}">
</c:when>

09-04 03:33