Java 使用JSTL在JSP中获取枚举值
我试图在JSP页面中获取枚举值,但得到异常Java 使用JSTL在JSP中获取枚举值,java,jsp,enums,Java,Jsp,Enums,我试图在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
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>
我不想使用任何硬代码
这里有参考表格
但是我的问题没有解决。解决方案是:
<c:set var="filedTypeEnum" value="<%=FieldTypeEnum.TEXT_BOX.getFieldType()%>" />
<c:when test="${programFuncFields.getFieldType() == filedTypeEnum}">
</c:when>
解决方案是:
<c:set var="filedTypeEnum" value="<%=FieldTypeEnum.TEXT_BOX.getFieldType()%>" />
<c:when test="${programFuncFields.getFieldType() == filedTypeEnum}">
</c:when>
programFuncFileds对象似乎没有getFieldType方法。您应该检查它是否是正确的对象。您可以减少枚举的代码。fieldType参数不是必需的,因为fieldType字符串与常量本身相同。只需定义一个枚举,不需要任何字段和方法。要获取枚举常量的字符串,可以使用TEXT_BOX.name()。programFuncFileds对象似乎没有getFieldType方法。您应该检查它是否是正确的对象。您可以减少枚举的代码。fieldType参数不是必需的,因为fieldType字符串与常量本身相同。只需定义一个枚举,不需要任何字段和方法。要获取枚举常量的字符串,可以使用TEXT_BOX.name()。