在Tapestry BeanEditor中允许Number对象为null

时间:2014-03-20 09:58:03

标签: java abstract-class tapestry

我有一个对象,我想通过beaneditor进行编辑。其中一个属性是Number类。

当我尝试显示beaneditor时,我收到以下错误:

  

参数'翻译'组件核心/ PropertyEditBlocks:numberfield   被绑定为null。此参数不允许为空。

当我将变量类型更改为Double时,一切正常。

它与Number是一个抽象类并且无法实例化的事实有什么关系吗?在这种情况下,我应该提供某种类型的翻译器或类似的东西,例如,在编辑值时使用Double吗?

1 个答案:

答案 0 :(得分:2)

TextField需要translate参数。 Tapestry默认注册了String,Integer,Long等。由于挂毯无法找到org.apache.tapestry5.FieldTranslator抱怨。

解决方案:

  1. 使用具体类型而不是数字
  2. 将FieldTranslator显式传递给TextField(例如设置translate参数)
  3. 为号码注册FieldTranslator(这听起来很疯狂)。