Grails を使用する場合、各フォーム フィールドをレンダリングする GSP コードは次のようになります。
<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>
<tr class="prop">
<td valign="top" class="name"><label for="passwd">Password:</label></td>
<td valign="top" class="value ${hasErrors(bean: person, field: 'passwd', 'errors')}">
<input type="password" id="passwd" name="passwd" value="${person.passwd?.encodeAsHTML()}"/>
</td>
</tr>
各フォーム フィールドに対して、ほぼ同じ 5 行の GSP/HTML コードが繰り返されていることに注意してください。これは私にはあまり DRY とは思えません。他の人がより良いアプローチを見つけたのではないかと思っています。
この問題に対処しようとする 2 つのプラグイン、form helperとbean-fieldsを見つけました。誰かがこれらのいずれかを使用した経験がある場合、私は彼らから話を聞くことに非常に興味があります. または、他のソリューション/プラグインがある場合は、お知らせください。
ありがとう。ドン