シナリオは次のとおりです。
- コントローラーは、利用可能なブランド (CrudRepository、データベース) のリストを準備します。
List<PortalBranding>
- このリストは、ModelMap 属性として表示されます。
を使用してリストを表示
form:select
<form:select path="branding"> <form:option value="-" label="--Please Select"/> <form:options items="${brandingList}" itemValue="id" itemLabel="name"/> </form:select>
選択すると、デフォルトで、PortalBranding オブジェクトに変換したい文字列として値を送信しようとします。そこで
@InitBinder
、カスタム エディターを登録できるメソッドを追加しました。public class PortalBrandingEditor extends PropertyEditorSupport { ... }
しかし、ID でオブジェクトをロードするサービスにアクセスできるようにしたい場合は、Spring に何らかの注釈に基づいてインスタンスを作成してもらいたい (このエディター内に @Autowired フィールドを配置します)。それは良い方法ですか?それに最適な注釈は何ですか?いくつかの提案を楽しみにしています。