1

大家好,我正在尝试使用 initbinder 注释来匹配我从乘法列表框中收到的值。列表框中的值是字符串值。最初我使用以下方式进行操作,只是为了匹配一个选择(我还没有添加乘法选择),它工作得很好。代码如下:

在控制器我有这个:

 @InitBinder 
public void initBinderResearch(WebDataBinder b) {

    b.registerCustomEditor(Research.class, new ResearchEditor());

}

在调试时,我可以看到 research_area 值的绑定不成功。但我没有任何异常或错误。谁能告诉我我做错了什么,这不起作用?

4

1 回答 1

2

您无法覆盖PropertyEditor.setAsText(List<String> text),因为它在父类中不存在,并且WebDataBinder不会使用此方法进行字符串到对象的转换。

如果您注册您的原始文件ResearchEditor并将属性从类型更改为支持表单模型中的Research类型List<Research>,WebDataBinder 将转换它们。

于 2012-06-13T12:03:32.033 回答