表 37.7. 构件信息
| 属性 | 是否必须 | 描述 | 示例 |
| id | 否 | 一个可选的唯一id,如果省略,Facelets框架将使用某种全局算法自动分配一个。 | mainMenu |
| binding | 否 | 这个binding属性与普通JSF构件上的binding属性是一样的,允许你用来引用一个JavaBean上的一个属性。在创建构件树过程中,如果目标属性没有已经被赋值为一个UIComponent实例,JSF将惰性地(即在实际访问时才创建)为你创建一个实例,并把它赋值到 JavaBean的目标属性中,然后再继续创建构件树过程。 | mainMenu |
正如composition有decorate标签与之对应,作为具有同样行为的“非截去”版本。fragment则是component标签的对应(非截去)版本。它允许你逻辑地把一个UIComponent插入到构件树中,并可选地把这个片段绑定到一个JavaBean属性中或Map中以便于管理。
前面的内容将保留.
<ui:fragment binding="#{uiCache['searchResult']}">
<div id="searchResults">
...
</div>
</ui:fragment>
后面的内容将保留.fragment标签在Facelets框架中还可以用来绕过某些用来处理文本的优化策略。如果你使用了某些负责渲染自身子构件的构件,例如<f:panelGrid/>,你可能会希望对Facelets框架的创建(构件树)过程进行一些控制,使用fragment标签有助于保证构件间的父子关系。