[OmniFaces utilities] The
formatNumber()
function format the given number in the given pattern. This is useful when you want to format numbers in for example the title
attribute of an UI component, or the itemLabel
attribute of select item, or wherever you can't use the <f:convertNumber>
tag. The format locale will be set to the one as obtained by Faces#getLocale()
.Function:
See also: Faces#getLocale()
Usage:Let's suppose that we have a map that contains several chemistry numbers, as below:
// in real
cases, you may hit a database
private
final Map<Float, String> chemistryMap
= Collections.unmodifiableMap(new
HashMap<Float, String>() {
{
put(27.734336f, "CO2");
put(337.2054654f, "HF");
put(313.783343f, "C6H12O6");
put(1229.2344f, "C8H18");
put(3.648f, "P4O10"); }
});
public
Map<Float, String> getChemistryMap() {
return chemistryMap;
}
Now, we can
display a list containing these chemistry numbers. The quantities are formatted
via of:formatNumber()
using two patterns:
// #.000
<h:selectOneListbox
style="width:100px;">
<f:selectItems
value="#{bookBean.chemistryMap.entrySet()}" var="t"
itemLabel="#{of:formatNumber(t.key, '#.000')}" itemValue="#{t.value}"/>
itemLabel="#{of:formatNumber(t.key, '#.000')}" itemValue="#{t.value}"/>
</h:selectOneListbox>
// 000.0000
<h:selectOneListbox
style="width:100px;">
<f:selectItems
value="#{bookBean.chemistryMap.entrySet()}" var="t"
itemLabel="#{of:formatNumber(t.key, '000.0000')}" itemValue="#{t.value}"/>
itemLabel="#{of:formatNumber(t.key, '000.0000')}" itemValue="#{t.value}"/>
</h:selectOneListbox>
Output:
Niciun comentariu :
Trimiteți un comentariu