Developing Web 2.0 applications
with JavaServerFaces
and Dreamweaver
>> Just Became Easier
Documentation
Search
  1. Introduction
  2. Getting Started
  3. Facelets Concepts
  4. Document Types
  5. Design View
  6. Code View Support
  7. Keyboard Shortcuts
  8. Tag Object Toolbars
  9. Property Inspectors
  10. Facelets Tag Reference
Facelets UI Tag Library
  ui:component
Selected ui:composition
  ui:debug
  ui:decorate
  ui:define
  ui:fragment
  ui:include
  ui:insert
  ui:param
  ui:remove
  ui:repeat
If you like this documentation, please take a look at my book:

10. Facelets UI Tag Reference

Documentation > Facelets > Facelets Tag Reference > Facelets UI Tag Library > ui:composition

ui:composition

The UI Composition tag is a templating tag that wraps content to be included in another Facelet. Any content outside of the UI Composition tag will be ignored by the Facelets view handler. Any content inside of the UI Composition tag will be included when another Facelets page includes the page containing this UI Composition tag. See also ui:include.

UI Design Tip:

If the template attribute is specified, the JSF page containing the composition tag will display the content of the associated template. If the composition tag contains ui:define tags, the content of these tags will be inserted into the template where matching ui:insert tags can be found. The template page can use a nameless ui:insert tag to insert all the content within the composition tag.

Facelets Template (template.xhtml)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title><ui:insert name="title" /></title>
</h:head>
<body>
<h2>
	<ui:insert name="header" />
</h2>
<ui:insert name="message" />
</body>
</html>
This example was formatted by JSFToolbox for Dreamweaver.

Facelets Template Client (client.xhtml)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head />
<body>
<ui:composition template="template.xhtml">
	<ui:define name="title">
		Welcome
	</ui:define>
	<ui:define name="header">
		Hello World
	</ui:define>
	<ui:define name="message">
		How are you today?
	</ui:define>
</ui:composition>
</body>
</html>
This example was formatted by JSFToolbox for Dreamweaver.

Rendered Output

Rendered ui:composition tag

HTML Output

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Welcome</title>
</head>
<body>
<h2>Hello World</h2>
How are you today?
</body>
</html>

Tag Attributes

template File
 
A URI that points to a template, also known as a layout, that inserts pieces of the page defined in the composition.