将空值绑定到Play Framework 2(Java)中的数字字段

时间:2013-03-06 20:43:18

标签: java forms playframework-2.0 databinder

我有表格,我希望能够将一些数字字段留空,但我从Form.bindFromRequest()得到“无效值”错误。这似乎是一个常见的要求,但我在搜索后找不到任何关于此的文档。我仍然希望我错过了一些明显的东西!

我做了一些挖掘,发现Play使用Spring的DataBinder类来进行实际绑定。该类非常复杂,并且允许我为我的字段设置自定义绑定器,如果我使用Spring,我可以向控制器添加@InitBinder方法,以便按照我想要的方式设置绑定器{ {1}}。但是,除了设置允许的字段外,Play Framework的CustomNumberEditor对象似乎不允许访问DataBinder。因此,绑定器会尝试将空字符串转换为long,这会产生Form

NumberFormatException

那么,是否有其他方法可以让活页夹允许空数字字段?

1 个答案:

答案 0 :(得分:1)

将您的字段声明为Long而不是long基元类型,空值将被视为null