我可以确定是否在复合组件中定义了JSF2方面吗



我正在创建一个JSF2 Facelets复合组件。如果定义了一个特定的方面,我希望HTML以不同的方式呈现。是否有任何方法可以检查是否为复合组件定义了<f:facet name="..." />

是的,您可以使用UIComponent#getFacets()按名称获取所有方面的映射。因此,您所需要做的就是检查映射值是否为空。

<h:panelGroup rendered="#{not empty cc.facets.foo}">
    The facet with name "foo" has been definied for this composite!
</h:panelGroup>

最新更新