为什么在 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}"
。
有没有人有更好的解决方案?
我想将 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}"
。
有没有人有更好的解决方案?