我有这个 JSF .xhtml 代码:
<p:outputLabel value="#{bundle['my.bundle.name']} - #{Myclass.current.amount}"/>
Myclass.current.amount
是 Java 中的双精度数。转换有问题。例如,如果Myclass.current.amount
等于10000000
,它显示为1.0E7
,但我想要10000000
.
注意:我想要 JSF 中的解决方案,而不是 Java 中的解决方案。
我试过用
<f:convertNumber/>
构造,但是没用,原则上这不是我需要的
您只能在包含数字的组件上使用
f:convertNumber
。如果您的组件值是Some text and #{bean.someNumber}
,它首先评估该值,并且无法使用Some text and 1.0E7
格式化结果字符串(例如f:convertNumber
)。
没有记录,但是你可以
p:outputLabel
没有 value
属性,而是使用 body。所以:
<p:outputLabel for="...">Label value</p:outputLabel>
这允许您将数字放在它自己的组件中并对其进行格式化:
<p:outputLabel for="...">
Some text
<h:outputText value="#{testView.amount}">
<f:convertNumber pattern="#"/>
</h:outputText>
</p:outputLabel>