将PropertyEditor绑定到列表的所有字段?

时间:2013-02-01 16:03:50

标签: spring-mvc model-binding propertyeditor

在我的Spring 3.1.2应用程序中,我有一个包含对象列表的表单,这些对象将在表单中呈现为表格。我想将属性编辑器绑定到列表的一个字段,还有许多其他字段共享该类型。

我正在尝试使用registerCustomEditor(Class, String, PropertyEditor)方法进行绑定,但它无效。我可以绑定到具有该类的所有字段,但这不符合我的需要。我尝试使用fieldName*.fieldName作为参数。如何绑定到列表中对象的所有字段?

1 个答案:

答案 0 :(得分: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());
        }
    }

}