【问题标题】:JSP: accessing enum inside JSP EL tagsJSP:访问 JSP EL 标记内的枚举
【发布时间】:2011-03-03 15:23:05
【问题描述】:

我的 java 枚举如下所示:

public enum EmailType { HOME, WORK, MOBILE, CUSTOMER_SERVICE, OTHER }

在 JSP 中,我正在尝试像下面那样做某事,但这是行不通的。

<c:choose>
          <c:when test="${email.type == EmailType.HOME}">(Home)</c:when>
          <c:when test="${email.type == EmailType.WORK}">(Work)</c:when>
</c:choose>

谷歌搜索后,我找到了这些链接:Enum inside a JSP。但是,我想避免在我的 JSP 中使用脚本。如何访问 EL 标记内的 java 枚举并进行比较?请帮忙。

【问题讨论】:

  • In JSP EL enum value always empty 的副本。只需将它们视为字符串即可。
  • 感觉不像是重复的,原因如下:枚举EmailType是写在一个单独的java文件(EmailType.java)里的,里面没有任何方法。
  • 我的电子邮件实体如下所示: public class Email { ... EmailType type; ....}
  • EmailType.java 包含:公共枚举 EmailType { HOME, WORK, MOBILE, CUSTOMER_SERVICE, OTHER }
  • 你有没有阅读链接的骗子上的accepted answer

标签: jsp


【解决方案1】:

当一个枚举被序列化时,它变成一个字符串。所以只需使用字符串比较。

<c:choose>
          <c:when test="${email.type == 'HOME'}">(Home)</c:when>
          <c:when test="${email.type == 'WORK'}">(Work)</c:when>
</c:choose>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2023-03-23
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多