37.5. <ui:decorate>

表 37.5. 构件信息

属性是否必须描述示例
template一个可被解析的URI,用于指定要使用的模板。decorate标签中的内容将被用来填充指定的模板。/WEB-INF/templates/sideBox.xhtml

decorate标签与composition标签的行为是一样的,但它不会截去它外部的内容。它用于当你在一个页面中具有一系列的项目,而你希望对它们进行修饰或装裱(即在外围加入其他内容)。总的来说就是你可以拿出页面中的任何元素并用模板提供的一些外部逻辑对其进行修饰。

前面的内容将保留.
<ui:decorate template="/WEB-INF/templates/sideBox.xhtml">
  <ui:define name="title">Product Search</ui:define>
  <ui:define name="body">
    ...
  </ui:define>
</ui:decorate>
后面的内容将保留.

在某些场景中,你可能需要把"Product Search"框“外部化”,放在独立的页面中(此时可使用composition标签),但在另一些场景中则可能不需要独立放置,decorate标签允许你以上面的形式嵌入页面。