#{request} в EL оценивается как ноль в Mojarra 2.3 m02

Я пытаюсь использовать Mojarra 2.3.0-m02. Подтверждение совместимости файла конфигурации JSF Face-config.xml с JSF 2.3 следующим образом.

<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.3"
              xmlns="http://xmlns.jcp.org/xml/ns/javaee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
              http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd">

</faces-config>

В настоящее время я работаю над проектом пустой игровой площадки, в котором нет ничего, кроме одного файла XHTML и одного или двух управляемых bean-компонентов (CDI). Никаких дополнительных зависимостей, таких как PrimeFaces, OmniFaces.

Следующие

<h:outputText value="contextPath : #{request.contextPath}"/>

оценивается в null (пустая строка?). Возвращение обратно файла face-config.xml для использования в JSF 2.2 показывает правильный контекстный путь, как и ожидалось.

В чем виновник? (Я использую GlassFish Server 4.1).


Дополнительно:

Я использовал его следующим образом на главном шаблоне проекта.

<ui:param name="contextPath" value="#{request.contextPath}"/>

а затем использовал contextPath в EL как #{contextPath} в нескольких местах на протяжении всего приложения.

1 ответ

Решение

Во-первых, JSF 2.3 в настоящее время все еще находится в стадии "альфа" (разработки), поэтому время от времени выпускает вехи. Поэтому ожидается, что некоторые вещи еще не закончены или, возможно, просто пропущены. Тем не менее, тестирование выпусков Milestone и сообщение о любых проблемах очень ценится.

Одна из вещей, которая изменилась в JSF 2.3, которая будет первой версией, требующей CDI, заключается в том, что все неявные объекты EL разрешаются через производителей CDI вместо средства распознавания EL. Оказывается, это все еще в стадии разработки. Не только #{request} отсутствует, но и среди других #{header}, #{initParam}, #{param} и даже #{cc} а также #{component} отсутствуют в М02.

Это, вероятно, придет в следующем этапе.

Другие вопросы по тегам