使用 Spring 3.1 并给出这种情况:
class Thing {
public Thing() {}
public Thing(String someProperty) {}
}
class ThingEditor extends PropertyEditorSupport{
@Override
public void setAsText(String text) {
if (text != null) {
Thing thing = new Thing(text); // or by using a setter method
setValue(thing);
}
}
}
class SomeController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(Thing.class, new ThingEditor());
}
}
我发现注册的属性编辑器没有被调用,除非我删除了接受字符串的构造函数Thing
- 这是对的吗?
为什么这样做并忽略注册编辑,我怎样才能让它停止这样做?