【发布时间】:2012-12-26 14:08:10
【问题描述】:
我正在使用带有 JSF 2.0 的 Facelets。在 facelets 标记库中有一个名为<ui:component> 的标记。
它将 UIComponent 的实例插入到树中,并修剪自身外部的标签。
谁能解释一下这种功能的用途是什么?为什么有人想将UIComponent 实例添加到树中?
我搜索了很多组件标签的示例,但没有找到。
【问题讨论】:
我正在使用带有 JSF 2.0 的 Facelets。在 facelets 标记库中有一个名为<ui:component> 的标记。
它将 UIComponent 的实例插入到树中,并修剪自身外部的标签。
谁能解释一下这种功能的用途是什么?为什么有人想将UIComponent 实例添加到树中?
我搜索了很多组件标签的示例,但没有找到。
【问题讨论】:
<ui:component> 在组件树中插入一个物理的UIComponent 实例,所有内容都作为其子项。
<ui:composition> 不会在组件树中插入任何物理UIComponent 实例,而是将所有内容作为其父级的子级插入。您无法通过findComponent()找到它。
Composite components 隐式使用<ui:component>,因为它基本上引入了一个NamingContainer 组件,该组件允许在父组件中多次重用相同的复合组件,而不会出现由复合组件的子组件导致的重复组件 ID 错误的风险。
【讨论】: