JSF差

2011-02-26 21 views
3

也許這是一個愚蠢的問題,但我用JSF差

cc 

指複合部件,例如cc.attrs.randomAttr但我也看到了

component 

隱式對象,我已經使用它,因爲我被告知但我真的不明白它是什麼。任何人都可以解釋嗎?

回答

9

cc是指在評估時正在處理的頂層組合組件。

component只是正在處理的用戶界面組件。

因此,當在複合組件內部時,cc引用「父」組件,而在單個組件上使用component時引用該特定實例。或用於簡單案件:

cc == component.getCompositeComponentParent(component),與組分是其中所述複合部件是建立一個組件。

E.g.考慮下面的複合部件:

<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html"  
    xmlns:cc="http://java.sun.com/jsf/composite" 
> 
    <cc:interface/> 

    <cc:implementation> 

     <h:outputText value="Own ID: #{component.id}, parent composite ID: #{cc.id}" /> <br/> 
     <h:outputText value="Own ID: #{component.id}, parent composite ID: #{cc.id}" /> 

    </cc:implementation>  

</html> 

上的一個facelet使用此將打印2個不同的「自己」的ID,這兩個的outputText組分即的那些,而複合ID將是兩行是相同的。

請注意,如果涉及多個複合組件的嵌套,情況可能會變得稍微複雜一些。

+0

很有說服力的答案。感謝arjan!這個例子真的幫了我。 – arg20 2011-02-27 01:18:52