これが、JSF 2.0 / JavaEE6に従ってJSPがFaceletsに引き継がれた理由の1つです。JSPはテンプレート機能をほとんど提供していません。ただし、Docbookに従って個別にインストールする場合は、JSF1.xでFacelets1.xを使用できます。
Faceletsは、すぐに使用できる機能要件を正確に提供します。例:
template.xhtml
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<head>
<title><ui:insert name="title" /></title>
</head>
<body>
<ui:insert name="body" />
</body>
</html>
page.xhtml
<ui:composition template="template.xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<ui:define name="title">Page title</ui:define>
<ui:define name="body">
<h:outputText value="JSF tags just work here." />
</ui:define>
</ui:composition>
私は、JSPに基づいてFaceletsを再発明するのではなく、JSFビューテクノロジーとしてFaceletsを採用することをお勧めします。