在多个域上重用模板

时间:2012-06-01 20:43:07

标签: templates grails reusability

我正在尝试在多个域上重复使用模板。 模板看起来像这样:

<div id="emailEntry">
    <Table>
        <tr class="prop">
        <td valign="top" class="name">
            <label for="email" id="email"><g:message code="default.email.label" default="Primary e-mail address* :" id="email" /></label>
        </td>
        <td valign="top" class="value ${hasErrors(bean: instanceToUse, field: 'email', 'errors')}">  
            <g:textField name="email" value="${instanceToUse?.email}"/> 
        </td>
    </tr>       
    </Table>
</div>

我的视图就像这样调用这个模板:

<g:render template="/templates/frmEmailTableEntry" />

我的班级“客户”和“员工”都有电子邮件属性。 所以我的问题是,如果我想重用模板“frmEmailTableEntry”用于类“客户”和“员工”,我应该把什么放在“ instanceToUse “在模板中。 我读过关于使用var声明的渲染,但我不太确定如何通过它。请帮帮我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你放入模板的内容并不重要。如果您保持原样,可以在其他gsp中使用它:

//say the instance you wish to use is "customerInstance"
<g:render template="/templates/frmEmailTableEntry" model="[instanceToUse: customerInstance]" />

customerInstance传递到模板中的${instanceToUse}变量。