facelet中ui:composition和ui:decoration的java差异 1 周,1 日 Questions & Answers 7235 在facelet中ui:composition和ui:decorate之间有什么区别?两者似乎都支持ui:define作为子标记。在什么情况下,您会使用这些
# 1 楼答案 正如文档所说:http://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/ui/decorate.htmldecorator标记与构图相同,唯一的区别在于ui:decoration不忽略标记之外的所有内容,这在您想要制作页面某个区域或部分的模板时非常有用 例如,当您想要制作应用程序总体外观的模板时,ui:composition非常有用。当模板属性删除标记之外的内容时,它实际上定义了应用程序区域的一般外观 使用装饰标记时,由于标记外部的内容不会被删除,因此可以制作内容区域内部部分的模板 例如,可以使用组合模板来定义页眉、菜单、页脚和内容部分 然后,在内容部分中,您可以在创建表单时使用decorator标记,然后使所有表单具有相同的外观(例如,使用标题、组件区域和按钮区域)
# 2 楼答案 任何超出<ui:composition>标记的内容都将被忽略。这对于<ui:decorate>是不正确的,因此作为“模板中的模板”是有益的 通过查看以下答案中的一些真实示例,可以更好地理解这一点: What is the real conceptual difference between ui:decorate and ui:include? Is it possible to use template with composite component in JSF 2? Is there a way to run a JSF page without building the whole project?
# 1 楼答案
正如文档所说:http://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/ui/decorate.htmldecorator标记与构图相同,唯一的区别在于ui:decoration不忽略标记之外的所有内容,这在您想要制作页面某个区域或部分的模板时非常有用
例如,当您想要制作应用程序总体外观的模板时,ui:composition非常有用。当模板属性删除标记之外的内容时,它实际上定义了应用程序区域的一般外观
使用装饰标记时,由于标记外部的内容不会被删除,因此可以制作内容区域内部部分的模板
例如,可以使用组合模板来定义页眉、菜单、页脚和内容部分
然后,在内容部分中,您可以在创建表单时使用decorator标记,然后使所有表单具有相同的外观(例如,使用标题、组件区域和按钮区域)
# 2 楼答案
任何超出
<ui:composition>
标记的内容都将被忽略。这对于<ui:decorate>
是不正确的,因此作为“模板中的模板”是有益的通过查看以下答案中的一些真实示例,可以更好地理解这一点: