При разработке веб приложения большинство страниц выглядят одинаково. Вместо того что-бы не создавать кучу ненужного кода, используются шаблоны. В JSF 2 предусмотрена гибкая система шаблонов. В основном мы будем использовать Facelet теги, такие как:
1. ui:composition - при добавлении аттрибута "template" ваша страница будет использовать шаблон указанный в значении аттрибута.
2. ui:insert - определяет область в которую будет вставлена информация в шаблон из страницы (аттрибут "name" тегов ui:insert и ui:define должны совпадать).
3. ui:define - Определяет область страницы, которая будет вставлена в шаблон.
4. ui:include - вставляет код отдельной страницы.