既存のデータベース行を編集するためのフォームを作成しようとしています。Spring MVCフォームタグを使用して、HTMLをフォームバッキングオブジェクトに自動バインドしています。行には別のテーブルとの多対多の関係があり、form:selectタグを使用して複数の選択ボックスで表現しようとしています。
<form:select path="rules">
<form:options items="${bundle.rules}" itemValue="name" itemLabel="name"/>
</form:select>
私は永続性のためにHibernateを使用しているので、関係はバンドルpojo内のHashSetとして表されます。
private Set<Rule> rules = new HashSet<Rule>(0);
ページに選択ボックスがないと、オブジェクトはデータベースに正しく更新されますが、選択ボックスを使用すると、オブジェクトはデータベースに更新されず、log4jログにこのエラーが表示されます。このエラーが例外を引き起こしていないことに注意してください。 、ログにのみ表示されます。
DEBUG org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:256) - Data binding errors: 1
これは、選択ボックス内のアイテムの選択を解除しても、フォーム全体が正しく送信されない場合に発生します。誰か助けてもらえますか?
コレクション属性をSpringMVCのフォームにバインドする方法を知っています。これはこの質問に似ていますが、残念ながら、どの提案も私の問題に役立つとは思えませんでした。