Ответ 1
Ничего, кроме внешнего тега <ui:composition>
, не учитывается. Это неверно для <ui:decorate>
, что выгодно как "шаблон в шаблоне".
Как это имеет смысл, может быть, лучше понять, посмотрев примеры реальных примеров в следующих ответах:
В чем разница между ui:composition
и ui:decorate
в Facelets? Оба, похоже, поддерживают ui:define
как дочерние теги. В каких случаях вы бы использовали каждый из них?
Ничего, кроме внешнего тега <ui:composition>
, не учитывается. Это неверно для <ui:decorate>
, что выгодно как "шаблон в шаблоне".
Как это имеет смысл, может быть, лучше понять, посмотрев примеры реальных примеров в следующих ответах:
Как говорится в документации: http://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/ui/decorate.html теги декоратора совпадают с композицией, единственная разница в том, что ui: decorate do not игнорировать содержимое вне тега, которое может быть полезно, когда вы хотите создать шаблон области или раздела страницы.
Например, используйте композицию в качестве полезной, когда вы хотите создать шаблон общего вида приложения. Поскольку он удаляет содержимое за пределами тега, атрибут шаблона он действительно определяет общие области обзора вашего приложения.
С помощью тегов decorate, поскольку содержимое вне тега не удаляется, вы можете создавать шаблоны выделения, которые входят в область содержимого.
Примером может быть использование шаблонов композиции для определения разделов заголовка, меню, нижнего колонтитула и содержимого.
Затем внутри разделов содержимого вы можете использовать тег декоратора, когда хотите сделать форму, а затем сделать все ваши формы одинаковыми. (например, заголовок, область компонентов и область кнопок).