1

私の Spring 3.1.2 アプリケーションには、フォーム内のテーブルとしてレンダリングされるオブジェクトのリストを含むフォームがあります。プロパティ エディタをリストの 1 つのフィールドにバインドしたいのですが、そのタイプを共有するフィールドが他にもたくさんあります。

registerCustomEditor(Class, String, PropertyEditor)メソッドを使用してバインドしようとしていますが、機能していません。そのクラスを持つすべてのフィールドにバインドできますが、それは私のニーズには合いません。fieldNameand*.fieldNameを引数として使用してみました。リスト内のオブジェクトのすべてのフィールドにバインドするにはどうすればよいですか?

4

1 に答える 1

0

InitBinder適切なすべてのプロパティを見つけて、PropertyEditorそれぞれにを追加するために、 にちょっとしたハックを書きました。

@InitBinder("detailForm")
protected void initBinder(WebDataBinder binder, WebRequest request) throws Exception {
    for (String param : request.getParameterMap().keySet()){
        if (param.endsWith("currencyAmount")){
            binder.registerCustomEditor(BigDecimal.class, param, new CurrencyPropertyEditor());
        }
    }

}
于 2013-02-01T20:13:10.930 に答える