我正在尝试使用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}"/>
然后在整个应用程序的多个位置使用contextPath
等EL #{contextPath}
。
答案 0 :(得分:2)
首先,JSF 2.3目前仍处于&#34; alpha&#34; (发展)阶段,里程碑版本不时发布。因此,预计有些事情还没有完成或者可能只是被忽视了。尽管如此,非常感谢对里程碑版本的测试和报告任何问题。
JSF 2.3中发生变化的一个问题是,需要CDI的第一个版本是,所有implicit EL objects都是resolved来自CDI producers,而不是an EL resolver。事实证明这仍在进行中。不仅<ul>
<li ng-repeat="task in tasks" class="list-item">
<a>{{ task.name }}</a>
<title title="{{ task.date.created | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}">{{ task.date.created | amCalendar }}</title>
</li>
</ul>
缺失#{request}
,而且还有#{header}
,#{initParam}
,#{param}
甚至#{cc}
和#{component}
在m02中丢失。< / p>
它可能会出现在下一个里程碑。