使用Grails Fields插件,您可以编写一个实际上更短,更干净的DRY代码:
<bean:withBean beanName="person">
<bean:field property="username" label="Login Name:"/>
<bean:field property="userRealName" label="Full Name:"/> >
</bean:withBean>
上面的代码与以下代码相同:
<tr class="prop">
<td valign="top" class="name"><label for="username">Login Name:</label></td>
<td valign="top" class="value ${hasErrors(bean: person, field: 'username', 'errors')}">
<input type="text" id="username" name="username" value="${person.username?.encodeAsHTML()}"/>
</td>
</tr>
<tr class="prop">
<td valign="top" class="name"><label for="userRealName">Full Name:</label></td>
<td valign="top" class="value ${hasErrors(bean: person, field: 'userRealName', 'errors')}">
<input type="text" id="userRealName" name="userRealName" value="${person.userRealName?.encodeAsHTML()}"/>
</td>
</tr>
但是,我必须手动更改所有已编写的代码吗?
答案 0 :(得分:1)
如果我是你,我会坚持一个字
<强>一致性强>
我宁愿使用插件转换所有这些,也不要使用插件并转换为none。因此,在将来,我不必处理两种类型的处理。另一方面,如果您有很多要转换的视图并且截止日期很短,那么我会将此任务添加到我的待办事项中。
但同样,它因人而异。这是我的意见。我希望这可能有用。
答案 1 :(得分:0)
Grails字段插件有an option for scaffolding,所以至少你可以重新生成你的脚手架代码。
我同意@dmahapatro关于代码的一致性,如果您选择使用该插件,则必须付出努力才能使所有视图具有相同的模式。