I have the following s:decorate template as a form row template
<div class="formRow">
<a4j:region id="#{fieldId}Field" selfRendered="true" regionRenderOnly="true">
<ui:insert/>
<div id="#{fieldId}Label" class="formlabel #{invalid?'errlabel':''}">
<ui:insert name="label"/>
</div>
<div id="#{fieldId}Input" class="formfield #{invalid?'flderr':''}">
<ui:insert name="field"/>
<a4j:status for="#{fieldId}Field">
<f:facet name="start">
<h:graphicImage value="/img/ajax_process.gif"/>
</f:facet>
</a4j:status>
</div>
<a4j:outputPanel id="#{fieldId}MessageBlock" layout="block" styleClass="errorMsg" ajaxRendered="true" rendered="#{invalid}">
<s:message for="#{fieldId}" globalOnly="false"/>
</a4j:outputPanel>
</a4j:region>
</div><s:decorate id="emailFormRow" template="/layout/formRow.xhtml">
<ui:define name="label">
<h:outputLabel for="email" value="#{messages['register.email']}"/>
</ui:define>
<ui:define name="field">
<h:inputText id="email" value="#{member.email}" required="true">
<a4j:support event="onchange" reRender="emailMessageBlock" requestDelay="0" ajaxSingle="true"/>
</h:inputText>
</ui:define>
<ui:param name="fieldId" value="email"/>
</s:decorate>