使用JSTL在JSP中获取枚举值

时间:2017-02-02 07:00:41

标签: java jsp enums

我试图在JSP页面中获取枚举值但是获得异常

org.apache.jasper.JasperException: javax.el.MethodNotFoundException: Method not found: class org.hibernate.collection.internal.PersistentSet.getFieldType()

package 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

但我的问题没有解决。

1 个答案:

答案 0 :(得分:2)

解决方案是:

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

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