Согласно this Stack Overflow answer, должно быть возможным, чтобы получить значение константы с помощью Expression Language 3,0Java EE 7 + EL 3,0 + Wildfly 10 - возвращает пустую строку на постоянной
Согласно this article, Wildfly 10 осуществила Java EE 7 и EL 3.0
Однако, когда я создаю новый динамический веб-проект в Eclipse с новым пустым 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>
И это результат в браузере.
2 + 2 = 4
ContextPath: /helloworld
Boolean.TRUE: ------
Integer.MAX_VALUE: ------
В чем причина того, что эти переменные возвращаются пустым?
Просто FYI, я попробовал это на WebSphere Application Server V9, который поддерживает EL 3.0 и она работает. Результат, о котором идет речь в моем браузере, показывает: 'Boolean.TRUE: --- true --- Integer.MAX_VALUE: --- 2147483647 ---' Поэтому это может быть проблема, характерная для Wildfly –
. Обратите внимание, что ответ вам уже упоминалось, что на некоторых (ранних) серверах есть ошибки. Я на момент написания не тестировал WF10, но я помню, что тестировал WF8. Можете попробовать 10,1 бета? Если он также не работает, сообщите об этом ребятам из WF, как только сможете. – BalusC
WF10.1-CR1 показывает такое же поведение. К настоящему времени был создан отчет об ошибке: https://issues.jboss.org/browse/WFLY-6939 –