WebDataBinder

Spring可以自动封装Bean.

前台通过SpringMVC传递过来的属性值XX会自动对应到对象中的属性上并封装成javaBean。但这也限制前台通过SpringMVC传递过来的属性值XX只能是基本数据类型(int,String等)。

如果传递过来的是特殊对象,则需要手动进行封装。

Spring提供了@InitBinder(初始化绑定封装)注解和WebDataBinder工具.
用户只需要向WebDataBinder注册自己需要的特殊类型的属性编辑器即可。

/* 前台传递过来的String类型时间,通过下面的初始化绑定,转换成Date类型 */ 
@InitBinder
    public void initBinder ( WebDataBinder binder ) {
        SimpleDateFormat dateFormat = new SimpleDateFormat ( "yyyy-MM-dd" );
        /**
         * 是否严格解析日期
         */
        dateFormat.setLenient ( false );
        binder.registerCustomEditor ( Date.class, new CustomDateEditor ( dateFormat, true ) );//true:允许为空, false:不允许为空
    }

说明:貌似只能设置yyyy-MM-dd类型,放在controller层。

你可能感兴趣的:(WebDataBinder)