【发布时间】:2011-01-17 10:10:59
【问题描述】:
我在这里的一个项目中使用 JSF 1.2 和 IceFaces 1.8。
我有一个页面,它基本上是一大堆浮点数字段的编辑网格。这是通过页面上的 inputText 字段指向具有原始 float 类型的值对象来实现的
现在,由于一项新要求看到某些字段可以为空,我想将值对象更改为使用 Float 对象而不是原始类型。我认为我不需要对页面做任何事情来适应这一点。
但是,当我进行更改时,我收到以下错误:
/pages/page.xhtml @79,14 value="#{row.targetValue}": java.lang.IllegalArgumentException: 参数类型不匹配
和
/pages/page.xhtml @79,14 value="#{row.targetValue}": java.lang.IllegalArgumentException: java.lang.ClassCastException@1449aa1
页面如下所示:
<ice:inputText value="#{row.targetValue}" size="4">
<f:convertNumber pattern="###.#" />
</ice:inputText>
我也尝试在其中添加<f:convert convertId="javax.faces.Float" />,但这似乎也不起作用!也不会将值对象类型更改为 Double。
我确定我可能遗漏了一些非常简单的东西,但我已经盯着这个看了一段时间,但没有立即明显的答案!
【问题讨论】:
-
无法在 Tomcat 6.0.20(没有 IceFaces)上使用 Mojarra 2.0.2 重现此问题。你能发布完整的堆栈跟踪吗?
-
@BalusC 不幸的是,我无权访问完整的堆栈跟踪,错误是在 JSF 中生成的,我无权访问它。但我正在处理更多信息,请耐心等待...
-
只从服务器日志中获取?
标签: jsf exception floating-point converter