自动将所有表单转换为Grails Fields Plugin

时间:2013-05-26 00:06:17

标签: grails grails-plugin

使用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>

但是,我必须手动更改所有已编写的代码吗?

2 个答案:

答案 0 :(得分:1)

如果我是你,我会坚持一个字

  

<强>一致性

我宁愿使用插件转换所有这些,也不要使用插件并转换为none。因此,在将来,我不必处理两种类型的处理。另一方面,如果您有很多要转换的视图并且截止日期很短,那么我会将此任务添加到我的待办事项中。

但同样,它因人而异。这是我的意见。我希望这可能有用。

答案 1 :(得分:0)

Grails字段插件有an option for scaffolding,所以至少你可以重新生成你的脚手架代码。

我同意@dmahapatro关于代码的一致性,如果您选择使用该插件,则必须付出努力才能使所有视图具有相同的模式。