2013-04-24 52 views
2

可以爲使用<ui:component>創建的複合組件定義默認ID?可以爲複合組件定義默認ID嗎?

即使我在<ui:component>中設置ID,當組件在頁面中呈現時,它不使用已定義的ID,並且從其下降的子項具有自動生成的ID而不是定義的ID。

<ui:component 
    id="companySearch" 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:cc="http://java.sun.com/jsf/composite" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:p="http://primefaces.org/ui" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core"> 

    <cc:interface> 
    </cc:interface> 

    <cc:implementation>  
    ... 

回答

3

您需要在組件標籤聲明的id屬性中指定它。

<my:compositeComponent id="companySearch" ... /> 

的複合元件是即NamingContainer這允許它可以在相同的視圖中多次使用而沒有它的孩子具有固定ID將導致「重複部件ID」的錯誤。 NamingContainer組件會將其ID添加到子代的ID中。

+0

是的,以這種方式它可以工作,但是如果組件標籤聲明中沒有設置ID,那麼沒有辦法使用預定義/默認ID? – 2013-04-24 19:27:33

相關問題