ui:构图和 ui:装饰在 Facelets 中的区别

2022-09-03 14:59:58

Facelets和 Facelets之间有什么区别?两者似乎都支持作为子标签。在什么情况下你会使用其中的每一个?ui:compositionui:decorateui:define


答案 1

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

通过查看以下答案中的一些现实世界示例,可以更好地理解这一点的意义:


答案 2

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

例如,当您想要制作应用程序的一般外观模板时,ui:composition 非常有用。当它删除标记外部的内容时,template 属性实际上定义了应用程序区域的一般外观。

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

例如,使用使用合成模板来定义页眉、菜单、页脚和内容部分。

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


推荐