比较Enum EL Jboss

时间:2017-01-31 10:52:48

标签: 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。

1 个答案:

答案 0 :(得分:0)

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

从另一个与此相关的问题:

  

JSP / Servet 2.4不支持EL中的方法调用,只支持   属性。