ui:composition和ui之间的区别:Facelets中的装饰
ui:composition
和ui:decorate
Facelets中的ui:decorate
什么区别? 两者似乎都支持ui:define
为子标签。 在什么情况下你会使用这些?
标记之外的任何内容都将被忽略。 对于
,情况并非如此,因此它有益于“模板中的模板”。
通过查看以下答案中的一些真实世界示例,可以更好地理解这有何意义:
- ui:decorate和ui:include之间真正的概念差异是什么?
- 是否可以在JSF 2中使用带有复合组件的模板?
- 有没有办法在不构建整个项目的情况下运行JSF页面?
正如文档所说: http : //docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/ui/decorate.html装饰标签与组成相同,唯一的区别这就是ui:decorate不会忽略标签之外的内容,当你想要制作一个区域或页面部分的模板时,这可能是有用的。
例如,当您想要创建应用程序的一般外观模板时,请使用合成它。 当它删除标签之外的内容时,模板属性就是谁真正定义了应用程序的一般外观区域。
使用decorate标签,因为标签外部的内容未被删除,您可以制作内容区域内的部分模板。
一个示例可以是使用合成模板来定义标题,菜单,页脚和内容部分。
然后在内容部分中,您可以在创建表单时使用装饰器标记,然后使所有表单具有相同的外观。 (例如,标题,组件区域和按钮区域。)