我可以用f:convertnumber和h:outputformat吗

4jb9z9bj  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(312)

我有一个复合组件,这是它的一个片段。

<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>

如果我想用 <f:convertNumber> ,我该怎么做?

tct7dpnv

tct7dpnv1#

<h:outputFormat> 在覆盖范围内使用标准 java.text.MessageFormat 应用程序编程接口。继续单击该链接并阅读javadoc。 <f:convertNumber> 在标准范围内使用 java.text.NumberFormat 恰好受 MessageFormat 也。正如javadoc所说,数字模式可以用 {[index], number, [pattern]} .
因此,so(本例假设您需要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>

相关问题