java—我可以确定jsf2方面是否在复合组件中定义吗?

x8goxv8g  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(350)

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

eufgjt7s

eufgjt7s1#

是的,你可以用 UIComponent#getFacets() 通过它们的名字得到所有方面的Map。因此,您需要做的就是检查map值是否为空。

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

相关问题