为什么在 Glassfish4(5 beta)下枚举上的 <c:forEach> 是空的?

Why is <c:forEach> on an Enum is empty under Glassfish4 (5 beta)?

我想将 Enum 的常量放入 html 下拉列表中,但它没有在 glassfish 下生成。

我在 tomcat 8 下尝试了相同的示例,它工作正常。
我通过测试 c:cout 验证了 JSTL 是否正常工作。我确定 EL 没有被评估。我没有web.xml

可能是什么问题?

枚举代码:

public enum ColorEnum {Red, Green, Blue}

JSP代码片段

<select name="color">
    <c:forEach var="element" items="${ColorEnum.values()}">
        <option value="${element}">${element}</option>
    </c:forEach>
</select>

pom

    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

glassfish下生成的html为:

<select name="color">
</select>

该问题的解决方法是将表达式设置为 servlet 中的范围属性,然后将 items="${ColorEnum.values()}" 更改为 items="${colors}"

有没有人有更好的解决方案?