Tiles and Sitemesh look pretty popular, but this stuff is really old and looks awful compared to current awesome things, for example. Ruby (ERB) or PHP (Open Power Template). Nowadays, template mechanisms allow convenient templates (by inserting variables, autoescaping depending on the context, iterating through Iterables, access to bean properties) and layout (for example, headers, footers and overriding and adding to some parts defined in the parent) without any Either a complex configuration and without the need to change the current stack (for example, your web framework).
Parent.html example:
<html>
<head>
<title>
<layout:part name="title">
Default title
</layout:part>
</title>
<layout:part name="head" />
</head>
<body>
<div class="menu" layout:part="menu">
default menu
</div>
<div class="content" layout:part="content" />
<div class="footer">
(c) me
</div>
</body>
</html>
Child.html example
<layout:extend file="parent.html">
<layout:fill name="title">
Custom title
</layout:fill>
<layout:fill name="contnet">
the content
{$var} from model
</layout:fill>
</layout:extend>
Facelets, , - JSF Wicket, .
( URL). . ViewResolver Spring 3.
, . , .
JSP, . taglib, (, Spring).
, , Sitemesh/Tiles, ? - , , .
: Sitemesh, / JSP/JSTL Spring MVC? - , Spring -MVC.