我的应用程序中有一个名为 Foo 的数据类型,它看起来像这样:
public class Foo {
// synthetic primary key
private long id;
// unique business key
private String businessKey;
...
}
这种类型在整个 Web 应用程序中以多种形式使用,通常您希望使用该id
属性来回转换它,因此我实现了一个 Spring3 Formatter 来执行此操作,并将该格式化程序注册到全局 Spring 转换服务。
但是,我有一个表单用例,我想使用它进行转换businessKey
。实现一个 Formatter 很容易做到这一点,但是我如何告诉 Spring 将该格式化程序用于这个特定的表单呢?
我在http://static.springsource.org/spring/previews/ui-format.html找到了一个文档,其中有一个关于注册字段特定格式化程序的部分(请参阅底部的 5.6.6),它提供了这个示例:
@Controller
public class MyController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerFormatter("myFieldName", new MyCustomFieldFormatter());
}
...
}
这正是我想要的,但这是 2009 年的预览文档,它看起来不像将registerFormatter
其纳入最终发布的 API 的方法。
你应该怎么做?