比较enums jstl el

Nim*_*sky 1 java enums jstl el

 <c:forEach items="${availableBadges}" var="badge">
 <div>
 <c:choose>
 <c:when test="${badge} == ${user.activeBadge};">
Run Code Online (Sandbox Code Playgroud)

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

用户具有正确的getter并返回Badge的实例.foreach工作正常,但我不能让synatx正确比较枚举?

Bal*_*usC 5

您的EL语法无效.该==操作必须在同一个${}范围为两个参数都应该没有尾随分号.

<c:when test="${badge == user.activeBadge}">
Run Code Online (Sandbox Code Playgroud)

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

也可以看看: