The Seam framework, as the name suggests, is an excellent tool for integrating different technologies together. One of the technologies that Seam supports very well is Facelets. We saw how to use the Facelets<ui:decorate>
tag to markup a section of our JSF page to be "decorated" by a template defined in another page. For example, we can define a simple template that surrounds our content with an HTML<div>
element that has a particular style applied to it. The benefit of this approach is that common UI structures can be defined in one place and reused more easily.
Seam provides the<s:decorate>
tag to surround user interface fields for validation purposes in the same way. In fact, the<s:decorate>
tag also supports the template attribute, so an external Facelets template can be used to provide the markup for styling the form fields during validation.
For example, the following file could define a Facelets decoration template...