1

複合コンポーネントがあり、これはその一部です。

<h:outputFormat id="output" value="{0} / {1} / {2}" rendered="#{cc.attrs.readOnly}" styleClass="#{cc.attrs.styleClass}">
    <f:param value="#{empty cc.attrs.value1 ? '-' : cc.attrs.value1}" />
    <f:param value="#{empty cc.attrs.value2 ? '-' : cc.attrs.value2}" />
    <f:param value="#{empty cc.attrs.value3 ? '-' : cc.attrs.value3}"/>
</h:outputFormat>

を使用して value3 をフォーマットしたい場合<f:convertNumber>、どうすればよいですか?

4

1 に答える 1

5

<h:outputFormat>カバーの標準java.text.MessageFormatAPIの下で使用します。そのリンクをクリックして javadoc を読んでください。

<f:convertNumber>カバーの下で、たまたまサポートされている標準java.text.NumberFormatAPIMessageFormatを使用します。javadoc が言うように、数値パターンは で表すことができます{[index], number, [pattern]}

したがって、次のようになります (この例では、2 つの固定長小数桁が必要であると想定しています):

<h:outputFormat id="output" value="{0} / {1} / {2,number,#.00}" rendered="#{cc.attrs.readOnly}" styleClass="#{cc.attrs.styleClass}">
    <f:param value="#{empty cc.attrs.value1 ? '-' : cc.attrs.value1}" />
    <f:param value="#{empty cc.attrs.value2 ? '-' : cc.attrs.value2}" />
    <f:param value="#{empty cc.attrs.value3 ? '-' : cc.attrs.value3}"/>
</h:outputFormat>
于 2015-01-15T14:04:50.270 に答える