我有 spring mvc 表单,我从中提交自定义对象 A 的值。自定义对象 A 有一个字段作为另一个对象 B 的列表。
在控制器中,我可以看到对象 B 列表的大小,但它会抛出错误消息 Failed to convert property value of type 'java.lang.String' to required type 'java.util.List'
现在我创建了一个类 CustomBinder 如下
public class CustomBinder extends PropertyEditorSupport {
private List<b> listOfb;
public CustomBinder(List<b> listOfb){
this.listOfb = listOfb;
}
@Override
public void setAsText(String text) throws IllegalArgumentException {
// TODO Auto-generated method stub
setValue(listOfb);
}
@Override
public String getAsText() {
// TODO Auto-generated method stub
return super.getAsText();
}
}
在控制器中,我已经注册了 custombinder
@InitBinder
protected void initBinder(Object target, WebDataBinder binder)
{
binder.setValidator(this.productUniqueValidator);
A a = (A) target;
List<B> b= a.getLstOfB;
binder.registerCustomEditor(List.class,"bs" ,new CustomBinder(b));
}
我仍然收到一条错误消息...不确定我做错了什么!