java – JSF输入失败,双转换错误

我有一个使用Spring 3.0的JSF2应用程序.我有一个bean,其属性类型为List< Double>有5个元素:

public class MyBean {
    private List

在我的xhtml文件中,我为每个元素都有:

我的目的是将值检索为ArrayList.另外,我不想为每个成员保留单独的属性.未来的要求将使值的总数变为动态(而不是硬编码的5),因此我可以使用循环来定义每个元素的输入,但现在不要关注它.

所以这就是问题所在.提交页面时,转换不正确.例如,如果我的输入是1,2,3,3(最后两个元素的2个空输入,它们不是必需的),我收到以下数组[1,“2.0”,“”,“”],其中1和3的类型为BigDecimal,而2.0和最后2个成员是空字符串.每次我尝试获取数组列表的成员时,这会导致ClassCastexception,因为根据定义是通用的,泛型类型是Double. BigDecimal不能强制转换为Double;很明显,字符串强制转换尝试也会失败.现在,我已经预计至少所有成员都会被转换器转换成相同的类型.另外,我需要一种方法来正确地获得Double.我也尝试过以下方法

但它引起了一个例外:

< F:转换器>调用要求在构造函数中传递的converter-id的认行为必须覆盖ConvertHandler(ConverterConfig)

我必须承认我是JSF技术的新手,但就this文章而言,没有必要覆盖任何东西.任何帮助将不胜感激

最佳答案
< f:转换器>没有id属性,而是convertId.另见tag documentation.所以,这应该做:

甚至

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量