在向文本输入框中设置Integer类型的值时,出现【类型转换异常】。

image
我的实体是Integer类型,在controller中文本输入框的泛型也是Integer,在运行到setValue()的时候,出现异常。我目前的解决办法是在xml文件中,设置datatype属性的值为int。请问还有其他解决办法吗?

这个textField的xml贴一下?

不好意思,昨天没看到消息,以下是我出错textField的全部代码,其实不止这一个输入框,其他的输入框也是出现这个问题。

// xml
<row>
    <label value="小时数" align="MIDDLE_LEFT"/>
    <textField id="hoursNumberField" colspan="2" datatype="int"/>
</row>
// controller
@Autowired
private TextField<Integer> hoursNumberField;
// entity
@Column(name = "HOURS_NUMBER", nullable = false)
@NotNull
private Integer hoursNumber;

因为你的textField是单独使用的,并没有绑定实体属性,所以框架无法自动判断类型。默认就是String类型的。

这里你指定类型是没问题的,也是推荐的方法。

1 个赞

好的 谢谢您!