Java 允许Tapestry BeaneEditor中的数字对象为空

Java 允许Tapestry BeaneEditor中的数字对象为空,java,abstract-class,tapestry,Java,Abstract Class,Tapestry,我想通过BeaneEditor编辑一个对象。其中一个属性属于编号类 当我尝试显示BeaneEditor时,出现以下错误: 组件核心/属性编辑块的参数“translate”:numberfield 绑定为null。此参数不允许为空 当我将变量类型更改为Double时,一切正常 它是否与Number是一个抽象类且无法实例化这一事实有关?在这种情况下,我是否应该提供某种翻译器或类似的东西,以便它使用,Double,例如,在编辑值时?需要一个translate参数。Tapestry注册了字符串、整数、L

我想通过BeaneEditor编辑一个对象。其中一个属性属于
编号

当我尝试显示BeaneEditor时,出现以下错误:

组件核心/属性编辑块的参数“translate”:numberfield 绑定为null。此参数不允许为空

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

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

需要一个
translate
参数。Tapestry注册了字符串、整数、Long等默认值,因为Tapestry找不到
org.apache.tapestry5.FieldTranslator
它在抱怨

解决方案:

  • 使用具体类型而不是数字
  • 显式地将FieldTranslator传递给TextField(例如设置
    translate
    参数)
  • 为数字注册一个
    FieldTranslator
    (这听起来很疯狂)

  • 谢谢:)既然我需要使用
    Number
    class,我会选择2(或3只是为了练习):#3在概念上没有意义。请你举个例子,说明什么时候使用#3最有意义?没有意义。。。曾经数字是一个抽象的概念,而FieldTranslator是一个具体的概念。我的意思是一般:)但我也会记住这一点:)