4

在我的项目中,我使用大量 h:outputtext 和 f:convertnumber 将模式应用于我的数字数据。

<h:outputText  value="#{stock.price}">
    <f:convertNumber currencySymbol="" groupingUsed="true" maxFractionDigits="2" type="currency" />
</h:outputText>

在需要其他数据时复制和粘贴此模式似乎很容易。但这也是难以管理的;当使用更多时,更改模式似乎需要大量搜索/替换操作。

如何使此模式可重用并在中心位置进行管理。

4

1 回答 1

6

最简单的是创建一个自定义转换器,它扩展了所需的标准转换器,并在其中在构造函数中设置所需的默认值。

@FacesConverter("defaultNumberConverter")
public class DefaultNumberConverter extends NumberConverter {

    public DefaultNumberConverter() {
        setCurrencySymbol("");
        setGroupingUsed(true);
        setMaxFractionDigits(2);
        setType("currency");
    }

}

按如下方式使用它:

<h:outputText value="#{stock.price}" converter="defaultNumberConverter" />
于 2013-02-08T12:10:02.580 回答