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

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

用户有正确的 getter 并返回一个 Badge 实例。foreach 工作正常,但我无法正确使用 synatx 来比较枚举?

4

1 回答 1

5

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

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

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

也可以看看:

于 2013-01-07T18:27:04.380 回答