内部<h:outputtext>中的<f:convertnumber>不起作用

时间:2015-11-25 22:27:35

标签: jsf

我想用货币值输出文本:

<h:form rendered="#{not empty cartBean.cartMap}">
            <h:outputText escape="false" styleClass="cart-text"
                          value="Your shopping cart: &lt;b&gt;#{cartBean.cartDishesCount}&lt;/b&gt; items, total= &lt;b&gt;#{cartBean.updateTotalPrice()}&lt;/b&gt;">
                <f:convertNumber currencyCode="USD" type="currency"/> <!-- todo - don't work -->
            </h:outputText>
        </h:form>

但是<f:converNumber>忽略了,页面输出仍然如下所示: Your shopping cart: 9 items, total= 46.800000000000004

1 个答案:

答案 0 :(得分:5)

尝试仅使用值中的值,如

<h:outputText value="#{cartBean.updateTotalPrice}" >
  <f:convertNumber currencyCode="USD" type="currency" />
</h:outputText>

转换数字需要一个数字,因为outputText的值是一个字符串,它不能识别它。

任何不是数字的东西都会单独显示。

如果您想明确指定位置,那么这是一个选项

<f:convertNumber type="currency" currencySymbol="$" locale="en_US" />