在JSF中格式化双精度
时间:2020-03-06 15:04:31 来源:igfitidea点击:
我有一个类似于在这里发现的问题:JSF selectItem标签格式。
我想做的就是接受一个double作为我的值,并用两个小数点显示它。可以通过简单的方式完成吗?
我尝试使用,但这似乎适用于发送到服务器的inputText的值,而不是输入字段中的初始值。
到目前为止,我的代码:
<h:inputText id="december" value="#{budgetMB.december}" onchange="setDirty()" styleClass="StandardBlack"> <f:convertNumber maxFractionDigits="2" groupingUsed="false" /> </h:inputText>
编辑:上面的代码实际有效。我被JDeveloper愚弄了,即使我对项目进行了明确的重建并重新启动了嵌入式OC4J服务器,它也没有更新jsp页面。但是,重新启动计算机后,一切都很好。
解决方案
如果我不误解要求,则可以在呈现视图的过程中使用以下方法实现输入框中的值格式:
<h:inputText id="text1" value="#{...}"> <f:convertNumber pattern="#,###,##0.00"/> </h:inputText>
我在供应商品牌的Eclipse中使用的是Standard Faces Components,因此我假设pattern
属性是标准JSF的一部分。
如果我们想做的是在屏幕上更改输入文本字段的值(以纠正用户输入),则我们可能应该考虑使用像Rich Faces这样的JSF ajax框架之一。
一个可能的示例如下所示:
<h:inputText id="december" value="#{budgetMB.december}" styleClass="StandardBlack"> <f:convertNumber maxFractionDigits="2" groupingUsed="false" /> <a4j:support event="onblur" reRender="december" /> </h:inputText>
我尚未对此进行测试,但我认为它可能会起作用。