我用:
<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函数? 或者有更好的方法吗?
答案 0 :(得分:1)
在JSF Mojarra 1.2_14和2.0.2上正常运行。所以我认为这是一个古老版本中的错误,你需要升级你的JSF版本。您也可以尝试将其显式转换为Double
,如下所示。
<h:inputText converterId="javax.faces.Double">
不确定这是否有效。将您的JSF impl升级到最新版本绝对是值得的。