java - 比较枚举 EL Jboss

标签 java tomcat enums jboss jstl

<分区>

我正在尝试比较 JSTL 中的两个枚举值。在我的 Tomcat 中运行良好,但是当我在 Jboss 中部署应用程序时却无法运行。

枚举类:

public enum Status {

    VALID,
    NOT_VALID,
    OTHER,
    ;

    public String getName() {
        return name();
    }
}

一段JSP:

...
<%@ page import="my.package.Status" %>
...

<c:choose>
    <c:when test="${myVar.status.toString() == Status.VALIDAD.toString()}">
        <c:set var="clase" value="green-text" />
    </c:when>
    <c:when test="${myVar.status.toString() == Status.NOT_VALIDADO.toString()}">
        <c:set var="clase" value="yellow-text" />
    </c:when>
    <c:otherwise>
        <c:set var="clase" value="red-text" />
    </c:otherwise>
</c:choose>
<span class="${clase}">

    <%-- Output tests --%>
    [${myVar.status}] - <%-- Works in Tomcat and Jboss --%>
    [${Status.VALIDAD.toString()}] - <%-- Works in Tomcat, empty in Jboss --%>
    [${Status.VALIDAD}] - <%-- Works in Tomcat, empty in Jboss --%>
    [${Status.VALIDAD.name}] - <%-- Works in Tomcat, empty in Jboss --%>
    [${Status.VALIDAD.name()}]  <%-- Works in Tomcat, empty in Jboss --%>

</span>

我已阅读thisthis , 但我不明白,因为在 Tomcat 中工作,而不在 Jboss 中工作。

一些想法?

编辑:

我已经尝试使用包含库 jboss-el-api_3.0_spec-1.0.6.Final-redhat-1.jar 的 Jboss EAP 7.0.0,但仍然无法正常工作。我还用 Java 1.7 和 Java 1.8 进行了测试。

最佳答案

很可能您的 JBoss 使用的 JSP/Servlet API 版本不是您的 Tomcat。

来自与此相关的另一个问题:

JSP/Servet 2.4 doesn't support method calls in EL and only support properties.

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

相关文章:

Java并发: should I synchronize all List and Maps?

c# - C# 中 ValidationError 类的合理模式

java - 检查字符串是否包含在枚举集中,时间复杂度为 O(1)

java - 从java列表中检索一定数量的项目进行处理

java - Javers - 在单个查询中跟踪子对象相对于父对象的更改

java - 在 Java EE 中缓存 DataSource 查找是否安全?

jakarta-ee - Tomcat部署

java - 什么会导致 JConsole 中报告当前加载的类数量为负数?

java - Struts2 教程在 .action 页面上给出 404

c# - Enum.GetName() As Constant 属性