3
在JSF中,我需要檢查一個組件是否在名稱爲"foo"
的方面。我已經寫了下面的代碼來測試組件是小內:如何確定組件是否在某個方面?
boolean insideFacet = false;
UIComponent parent = uiComponent.getParent();
if (parent != null) {
UIComponent grandparent = parent.getParent();
if (grandparent != null) {
UIComponent facet = grandparent.getFacet("foo");
if (facet != null && facet.equals(parent)) {
insideFacet = true;
}
}
}
此代碼工作正常(即insideFacet
等於true
)時,有在f:facet
內的多個標籤:
<example:container>
<f:facet name="foo">
<example:componentInFacet />
<h:outputText value="text" />
</f:facet>
</example:container>
但是,insideFacet
等於false
當f:facet
內只有一個組件時:
<example:container>
<f:facet name="foo">
<example:componentInFacet />
</f:facet>
</example:container>
我錯過了什麼?