微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring InitBinder:将float字段的空值或空值绑定为0

我只是想知道是否可以告诉@InitBinder表单中的空浮点值将转换为0.

我知道float是一种原始数据类型,但我仍然希望将null或空值转换为0.

如果可能的话,我怎样才能做到这一点?

否则,我只是使用String而不是float来解决方法

最佳答案
是的,你总能这样做.Spring一个CustomNumberEditor,它是任何Number子类的可自定义属性编辑器,如Integer,Long,Float,Double.It认由BeanWrapperImpl注册,但是,可以通过注册它的自定义实例来覆盖它自定义编辑器.这意味着你可以像这样扩展一个

public class MyCustomNumberEditor extends CustomNumberEditor{

    public MyCustomNumberEditor(ClassgalArgumentException {
        super(numberClass,numberFormat,allowEmpty);
    }

    public MyCustomNumberEditor(ClassgalArgumentException {
        super.setAsText("set your desired text");
    }

}

然后在您的控制器中正常注册

 @InitBinder
    public void initBinder(WebDataBinder binder) {

       binder.registerCustomEditor(Float.class,new MyCustomNumberEditor(Float.class,true));
    }

这应该完成任务.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐