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

时间:2012-08-24 19:50:53

标签: java jsf jsf-2 facelets composite-component

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

1 个答案:

答案 0 :(得分:12)

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

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