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 に答える