JSF差

2011-02-26 56 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