Eclipse Java EE 7+;EL 3.0+;Wildfly 10-返回常量上的空字符串

Eclipse Java EE 7+;EL 3.0+;Wildfly 10-返回常量上的空字符串,eclipse,jsp,constants,el,wildfly-10,Eclipse,Jsp,Constants,El,Wildfly 10,根据,应该可以使用表达式语言3.0检索常量的值 据介绍,Wildfly 10已经实现了JavaEE7和EL3.0 但是,当我在Eclipse中创建一个新的动态Web项目,其中包含一个带有两个常量引用的空JSP文件,并将其部署到Wildfly 10时,变量显示为空(或不存在) 这是示例JSP页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCT

根据,应该可以使用表达式语言3.0检索常量的值

据介绍,Wildfly 10已经实现了JavaEE7和EL3.0

但是,当我在Eclipse中创建一个新的动态Web项目,其中包含一个带有两个常量引用的空JSP文件,并将其部署到Wildfly 10时,变量显示为空(或不存在)

这是示例JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>title</title>
    </head>
    <body>
        2 + 2 = ${2 + 2}<br>
        ContextPath: ${pageContext.servletContext.contextPath}<br>
        Boolean.TRUE: ---${Boolean.TRUE}---<br>
        Integer.MAX_VALUE: ---${Integer.MAX_VALUE}---<br>
    </body>
</html>

这些变量返回为空的原因是什么?

这些变量返回为空的原因是因为Wildfly 10.0包含两个导致该行为的错误:

  • 该问题已在发布的Wildfly 10.1中修复:

    Wildfly 10.1.0最终版可在此处下载:


    变量返回为空的原因是Wildfly 10.0包含两个导致该行为的错误:

  • 该问题已在发布的Wildfly 10.1中修复:

    Wildfly 10.1.0最终版可在此处下载:


    仅供参考,我在支持EL 3.0的WebSphere Application Server V9上进行了试验,效果良好。我的浏览器中有问题的输出显示:'Boolean.TRUE:--TRUE---Integer.MAX_VALUE:--2147483647---'因此这可能是WildFly特有的问题请注意,您找到的答案已经提到一些(早期)服务器在这方面存在错误。我在写这篇文章的时候没有测试过WF10,但我记得我测试过WF8。你能试试10.1测试版吗?如果在那里也失败了,请尽快向WF人员报告。WF10.1-CR1显示了相同的行为。到目前为止,已经创建了一个bug报告:已经创建了一个补丁,并为Widlfly 10.1.0-Final做好了准备,请参阅仅供参考,我在支持EL 3.0的WebSphere Application Server V9上尝试了这一点,它可以正常工作。我的浏览器中有问题的输出显示:'Boolean.TRUE:--TRUE---Integer.MAX_VALUE:--2147483647---'因此这可能是WildFly特有的问题请注意,您找到的答案已经提到一些(早期)服务器在这方面存在错误。我在写这篇文章的时候没有测试过WF10,但我记得我测试过WF8。你能试试10.1测试版吗?如果在那里也失败了,请尽快向WF人员报告。WF10.1-CR1显示了相同的行为。到目前为止,已经创建了一个bug报告:已经创建了一个补丁,并准备好用于Widlfly 10.1.0-Final,请参阅
    2 + 2 = 4
    ContextPath: /helloworld
    Boolean.TRUE: ------
    Integer.MAX_VALUE: ------