隐式对象cc和组件之间的jsf差异

也许这是一个愚蠢的问题,但我使用

cc 

引用复合组件,例如cc.attrs.randomAttr,但我也看到了

 component 

隐含的对象,我已经使用它,因为我被告知,但我真的不明白它是什么。 谁能解释一下吗?

cc指的是评估时正在处理的顶级复合组件。

component只是正在处理的ui组件。

因此,当在复合组件内部时, cc引用“父”组件,而在单个组件上使用组件时引用该特定实例。 或者对于简单的情况:

cc == component.getCompositeComponentParent(component) ,其中组件是构建复合组件的组件。

例如,考虑以下复合组件:

     

在Facelet上使用它将打印2个不同的“自己的”ID,即两个outputText组件中的ID,而复合ID在两行上都是相同的。

请注意,当涉及多个复合组件嵌套时,事情可能会变得有点复杂。