我有一些代码用于<h:outputText>
有条件地呈现 JSF 元素组。例子:
<h:outputText rendered="#{authorization.admin}">
<h:outputText value="#{msgs.someinfo}" />
<h:inputSecret value="#{usermanager.password}" />
</h:outputText>
<h:outputText rendered="#{contactmanager.editAction}">
<li>
<label for="name"><h:outputText value="#{msgs.nameinfo}" /></label>
<h:inputText id="name" value="#{contactmanager.name}" />
<h:messages for="name" />
</li>
</h:outputText>
代码在 glassfish 2.1.1 上,它在 jsf-impl.jar 中的 MANIFEST.MF 看起来像这样(我不确定它实际上是使用这个 jar 还是其他一些用于 JSF):
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.5.0_19-b02 (Sun Microsystems Inc.)
Specification-Title: JavaServer Faces
Specification-Version: 1.2MR2
Implementation-Title: Mojarra
Implementation-Version: 1.2_13-b01-FCS
Implementation-Vendor: Sun Microsystems, Inc.
Implementation-Vendor-Id: com.sun
Extension-Name: com.sun.faces
我正在尝试迁移到具有 JSF 2 或更高版本的 glassfish 4。
此构造的所有数百个实例都对旧 glassfish 起作用,但它们不再对新 glassfish 起作用 - 它们被替换为空,无论rendered
属性评估为什么。为什么?