我试图将某些内容添加到其他人创建的复合组件中,并且其中有一个#{cc.foo}
。我似乎无法找到定义foo
的位置,甚至在整个代码库上执行grep。
cc.attrs.foo
和cc.foo
之间的区别是什么?
编辑我在某个罐子里发现了它,因此我在搜索中没有看到它。问题仍然存在。感谢
答案 0 :(得分:1)
究竟是什么foo
?复合组件(与其他UIComponent
s)具有预定义的某些属性:例如,#{cc.rendered}
或#{cc.clientId}
由Java EE规范定义,而不是用户定义,因此它们始终在复合内可用组件。
通常,#{cc.whatever}
将是组件本身的属性:其组件ID #{cc.id}
,其客户端ID(即呈现为HTML标记的id
属性的内容){{ 1}},其父组件#{cc.clientID}
等。这些由Java EE提供。另一方面,组件开发人员提供#{cc.parent}
:它们将是复合组件的命名属性:对于复合组件文件的#{cc.attrs.whatever}
部分中的每个<composite:attribute name="myAttribute" ... />
,将是<composite:interface>
可用于composte组件文件的#{cc.attrs.myAttribute}
部分。