0

我有 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));
}

我仍然收到一条错误消息...不确定我做错了什么!

4

0 回答 0