Hallo大家我试图使用initbinder注释来匹配我从多个列表框中收到的值。列表框中的值是字符串值。最后我用以下方式做到了只匹配一个选项(我还没有添加乘法选项),它完全正常。代码如下:
在控制器上我有这个:
@InitBinder
public void initBinderResearch(WebDataBinder b) {
b.registerCustomEditor(Research.class, new ResearchEditor());
}
在调试时我可以看到research_area值的绑定不成功。但我没有采取任何例外或错误。任何人都可以告诉我我做错了什么,这是行不通的?
答案 0 :(得分:2)
您无法覆盖PropertyEditor.setAsText(List<String> text)
,因为它不存在于父类中,而WebDataBinder
将不会使用此方法来进行字符串到对象的转换。
如果您注册原始ResearchEditor
并将属性从Research
类型更改为支持表单模型中的List<Research>
类型,则WebDataBinder将转换它们。