Facelets中的ui:composition和ui:decorate有什么不同?两者似乎都支持将ui:define作为子标签。在什么情况下,您会使用这些工具?
发布于 2012-10-27 03:02:40
<ui:composition>标记之外的任何内容都将被忽略。这对<ui:decorate>并非如此,因此作为“模板中的模板”是有益的。
通过查看以下答案中的一些现实世界示例,可能可以更好地理解这一点:
发布于 2013-11-09 21:31:01
正如文档所说:http://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/ui/decorate.html装饰器标记与组合是相同的,唯一的区别是ui:decorate不会忽略标记之外的所有内容,当您想要为页面的某个区域或部分创建模板时,这可能很有用。
例如,当您想要创建应用程序的一般外观的模板时,ui:composition非常有用。由于模板属性删除了标记之外的内容,因此它真正定义了应用程序区域的一般外观。
使用装饰性标记,由于标记外部的内容不会被删除,因此您可以为内容区域内的部分制作模板。
一个例子可以是使用合成模板来定义页眉、菜单、页脚和内容部分。
然后,在内容部分中,当您想要制作表单时,可以使用装饰器标记,然后使所有表单具有相同的外观(例如,具有标题、组件区域和按钮区域)。
https://stackoverflow.com/questions/13091927
复制相似问题