#{request} 在 EL 中被评估为 null 在 Mojarra 2.3 m02
#{request} in EL is evaluated to null in Mojarra 2.3 m02
我正在尝试使用 Mojarra 2.3.0-m02。如下确认JSF配置文件faces-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
(空字符串?)。将 faces-config.xml 文件还原为特定于 JSF 2.2 会显示预期的正确上下文路径。
罪魁祸首是什么? (我使用的是 GlassFish Server 4.1)。
补充:
我在项目的主模板上按以下方式使用了它。
<ui:param name="contextPath" value="#{request.contextPath}"/>
然后在 EL 中使用 contextPath
,例如在整个应用程序的多个地方使用 #{contextPath}
。
首先,JSF 2.3 目前仍处于 "alpha"(开发)阶段,不时发布里程碑版本。所以预计有些事情还没有完成,或者可能只是被忽略了。尽管如此,非常感谢测试里程碑版本并报告任何问题。
JSF 2.3 中发生的变化之一是所有 implicit EL objects are resolved via CDI producers instead of an EL resolver,这将是第一个需要 CDI 的版本。事实证明这仍在进行中。不仅 #{request}
丢失,而且 #{header}
、#{initParam}
、#{param}
甚至 #{cc}
和 #{component}
在 m02.
它可能会在下一个里程碑中出现。
我正在尝试使用 Mojarra 2.3.0-m02。如下确认JSF配置文件faces-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
(空字符串?)。将 faces-config.xml 文件还原为特定于 JSF 2.2 会显示预期的正确上下文路径。
罪魁祸首是什么? (我使用的是 GlassFish Server 4.1)。
补充:
我在项目的主模板上按以下方式使用了它。
<ui:param name="contextPath" value="#{request.contextPath}"/>
然后在 EL 中使用 contextPath
,例如在整个应用程序的多个地方使用 #{contextPath}
。
首先,JSF 2.3 目前仍处于 "alpha"(开发)阶段,不时发布里程碑版本。所以预计有些事情还没有完成,或者可能只是被忽略了。尽管如此,非常感谢测试里程碑版本并报告任何问题。
JSF 2.3 中发生的变化之一是所有 implicit EL objects are resolved via CDI producers instead of an EL resolver,这将是第一个需要 CDI 的版本。事实证明这仍在进行中。不仅 #{request}
丢失,而且 #{header}
、#{initParam}
、#{param}
甚至 #{cc}
和 #{component}
在 m02.
它可能会在下一个里程碑中出现。