<c:forEach items="${availableBadges}" var="badge">
 <div>
 <c:choose>
 <c:when test="${badge} == ${user.activeBadge};">


badge是带有两个字符串字段的枚举。

用户具有正确的getter并返回Badge的实例。 foreach可以正常工作,但是我不能正确地使用synatx来比较枚举?

最佳答案

您的EL语法无效。 ==运算符必须与两个操作数都在同一${}范围内,并且不应包含结尾分号。

<c:when test="${badge == user.activeBadge}">


这与枚举无关。所有其他类型都应使用相同的语法。

也可以看看:


How to testing for enum equality in JSF?
Our EL wiki page
questions tagged [enums]+[el]

关于java - 比较枚举jSTL el,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14201643/

10-10 09:42