Jsf 迭代<;导入的枚举值;o:进口常量>;

Jsf 迭代<;导入的枚举值;o:进口常量>;,jsf,enums,omnifaces,Jsf,Enums,Omnifaces,是否可以在ui:repeat或c:forEach中迭代枚举? 我正在使用OmniFaces2.5的o:importConstants 示例代码: <o:importConstants type="my.package.MyEnum"></o:importConstants> <c:forEach var="icon" items="#{MyEnum}"> #{icon.toString()} </c:forEach> 将枚举值转换为映射,

是否可以在
ui:repeat
c:forEach
中迭代枚举? 我正在使用OmniFaces2.5的
o:importConstants

示例代码:

<o:importConstants type="my.package.MyEnum"></o:importConstants>
<c:forEach var="icon" items="#{MyEnum}">
    #{icon.toString()}
</c:forEach>
将枚举值转换为
映射
,其中映射键是枚举名称的字符串表示形式,映射值是实际的枚举实例本身。现在您实际上正在尝试的是将每个实例打印为字符串。您实际上应该使用它的和/或方法

到目前为止,仅在
中支持直接迭代
映射。另见


非常感谢。这解释了很多。
com.sun.faces.facelets.tag.jstl.core.MappedValueExpression$Entry@565a5787

com.sun.faces.facelets.tag.jstl.core.MappedValueExpression$Entry@6c01f0ce

com.sun.faces.facelets.tag.jstl.core.MappedValueExpression$Entry@2cd6ac37

com.sun.faces.facelets.tag.jstl.core.MappedValueExpression$Entry@7b6d8d37

com.sun.faces.facelets.tag.jstl.core.MappedValueExpression$Entry@7f8f1bb2
<c:forEach items="#{MyEnum}" var="entry">
    Map key: #{entry.key} <br/>
    Map value: #{entry.value} <br/>
</c:forEach>
<ui:repeat value="#{MyEnum.values()}" var="value">
    Map value: #{value} <br/>
</ui:repeat>