大家好,我正在尝试使用initbinder注释来匹配我从乘法列表框中收到的值。列表框中的值是字符串值。我还没有添加乘法选择),它工作得很好。代码如下:

在控制器我有这个:

 @InitBinder
public void initBinderResearch(WebDataBinder b) {

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

}


在调试中,我可以看到research_area值的绑定未成功。但是我没有任何异常或错误。有人可以告诉我我做错了什么吗?

最佳答案

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

如果您注册原始的ResearchEditor并将后备表单模型中的属性从类型Research更改为类型List<Research>,则WebDataBinder将对其进行转换。

关于java - 用于字符串列表的Initbinder,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11013573/

10-13 08:24