15

Facelets之间ui:composition有什么区别?ui:decorate两者似乎都支持ui:define作为子标签。在什么情况下你会使用这些?

4

2 回答 2

13

标签之外的任何内容<ui:composition>都将被忽略。对于 ,这不是真的<ui:decorate>,因此作为“模板中的模板”是有益的。

通过查看以下答案中的一些真实示例,可能会更好地理解其意义:

于 2012-10-26T19:02:40.173 回答
1

正如文档所说:http://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/ui/decorate.html装饰器标签与组合物相同,唯一的区别就是 ui:decorate 不会忽略标签之外的所有内容,这在您想要制作页面区域或部分的模板时很有用。

例如,当您想要制作应用程序总体外观的模板时,ui:composition 很有用。由于它删除了标记之外的内容,因此模板属性真正定义了应用程序区域的总体外观。

使用装饰标签,由于标签外的内容不会被删除,您可以制作内容区域内的部分的模板。

一个示例可以是使用组合模板来定义页眉、菜单、页脚和内容部分。

然后在内容部分中,您可以在制作表单时使用装饰器标签,然后使所有表单具有相同的外观(例如标题、组件区域和按钮区域)。

于 2013-11-09T13:31:01.257 回答