Šablonovací jazyky jsou stejně jako aplikační rámec SiteMesh velmi populární v aplikacích nad platformou JEE. Mezi jejich nejlepší a nejznámější představitele patří nástroje FreeMarker[7] a Velocity[8].
Proč používáme šablonovací nástroje? Použití šablonovacích nástrojů silně vynucuje oddělení prezentační a aplikační logiky. Tyto nástroje poskytují svůj šablonovací jazyk, pomocí kterého jsou schopny přistupovat k proměnným a objektům vrácených aplikační logikou. Použití těchto jazyků zpřehledňuje návrh uživatelského rozhraní, což je největší výhoda jejich použití.
Jelikož jsou tyto nástroje velmi populární, není se čemu divit, že je poptávka po dekorátorech psaných v šablonovacích jazycích, které tyto nástroje poskytují, tak velká. Vývojáři rámce SiteMesh tyto požadavky vyslyšeli a připravili podporu jak pro nástroj FreeMarker tak i Velocity.
Pro ilustraci si ukažme, jak dekorátor psaný v šablonovacím jazyce nástroje FreeMarker vypadá. Ukázka je čerpaná z oficiální dokumentace rámce SiteMesh.
<#include "/includes/decorators/header.dec">
<h2>${title}</h2>
${head}
<img src="${base}/images/logo.gif" border="0">
<td valign="top" class="body">
<div class="header">
<span class="pagetitle">${title}</span>
</div>
${body}
</td>
<#include "/includes/decorators/footer.dec">
V dekorátorech psaných šablonovacím jazykem se nepoužívají uživatelské značky aplikačního rámce SiteMesh. Místo uživatelských značek se v těchto dekorátorech používají stejně pojmenované proměnné, jak si můžeme všimnout v uvedeném příkladu.
Více o použití šablonovacích nástrojů společně s aplikačním rámcem SiteMesh můžeme najít na oficiálních stránkách tohoto rámce.