O'Reilly logo

Facelets by Robert Swarr

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 6. Developing and Using Composition Components

6.1 What Are Composition Components?

Compositions are the core unifying idea of Facelets and the foundation of its reusability. Facelets treats view documents as a set of instructions for composing a tree of UIComponent instances (aka a Faces view). It can compose a UIComponent tree from either a single view document or multiple view documents. As its name implies, the ui:composition tag plays a key role in this framework—each ui:composition tag marks the start of a branch of UIComponent instances. There are several ways that you can use this tag. For example, it can define content that is included in another view, as shown in Example 8 in Chapter 3. Developing JSF Views with Facelets. Example 8 included views for each of the major sections of the page: header, left navigation, center content, right sidebar, and footer. Example 28 and Example 29 contain code fragments that demonstrate using the ui:composition tag in this way.

Example 28. Including a composition

<!--  including-view.xhtml  -->
<div id="left-navigation">
    <ui:include src="included-view.xhtml"/>
</div>
<!--  included-view.xhtml  -->
<ui:composition>
   <!-- left navigation content -->
</ui:composition>

In this example, the reusable content is in the included document. Facelets trims all tags and text outside of the ui:composition tag in the included document.

A template client also can use the ui:composition tag to weave in reusable content from a template document. Example 13 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required