Spring中@initBinder的使用

Spring中@initBinder的使用

这一周开发的时候,发现前台的date类型form数据不能传值到controller中的参数中,看到后台提示date类型转换失败。于是我想到以前是加了@initBinder就解决了。于是我就打开了spring的文档,查看了@initBinder

@initBinder可以直接在你的controller中提供数据绑定。initbinder 方法不能有返回值,一般是返回void。下面的例子是给所有的java.util.Date类型的属性配置一个CustomDateEditor

@Controller
public class MyFormController {

    @InitBinder
    protected void initBinder(WebDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
    }

    // ...

}

当然,@initBinder还可以配置别的属性编辑器,例如CustomNumberEditor、CustomBooleanEditor等,实现数据绑定。

你可能感兴趣的:(Spring,Java)