jsf h:inputText和Double值

时间:2010-05-27 07:32:16

标签: jsf

我用:

<h:inputText id="costsPerPallet" value="#{globalReportSelectionForm.palletCost}" size="5">
   <f:convertNumber pattern="0.00"/>
</h:inputText>

palletCost是双倍的;

输入值“1.00”并提交时,可以。 当我输入“1”并提交时我收到错误:

java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Double

在提交之前放置“1.00”的好方法是什么。在onblur javascript函数? 或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

在JSF Mojarra 1.2_14和2.0.2上正常运行。所以我认为这是一个古老版本中的错误,你需要升级你的JSF版本。您也可以尝试将其显式转换为Double,如下所示。

<h:inputText converterId="javax.faces.Double">

不确定这是否有效。将您的JSF impl升级到最新版本绝对是值得的。