比较枚举


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

badge是包含两个字符串字段的enum。

User有正确的getter并返回一个Badge实例。foreach工作正常,但我不能得到正确的语法比较枚举?

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

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

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

参见:

  • 如何在JSF中测试枚举相等?
  • 我们的EL wiki页面
  • 标签为[enums] + [el] 的问题

相关内容

  • 没有找到相关文章

最新更新