如何在JSF中为各种组件标准化convertnumber用法?

时间:2013-02-08 12:01:28

标签: java jsf jsf-2 primefaces

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

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

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

如何在中心位置重复使用和管理此模式。

1 个答案:

答案 0 :(得分:5)

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

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

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

}

按如下方式使用:

<h:outputText value="#{stock.price}" converter="defaultNumberConverter" />