加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 19:21:25 所属栏目:Java 来源:网络整理
导读:我有一个使用Spring 3.0的JSF2应用程序.我有一个bean,其属性类型为List 有5个元素: public class MyBean { private List 在我的xhtml文件中,我为每个元素都有: 我的目的是将值检索为ArrayList.另外,我不想为每个成员保留单独的属性.未来的要求将使值的总数

我有一个使用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.所以,这应该做:

甚至

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读