数字是一个用来表示事物的普遍概念,像年龄,薪水,百分比,金钱等等。我们知道数字可以是整数,浮点数,双精度实数,在不同的场合,我们需要不同的数字,还有不同的数字标记。下面我们来看一个JSF自带的标准的数字转换器的例子。
standardConverterNumbers.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>
<title>myjsf</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</h:head>
<h:body>
<h:form id="form">
<b>
<h:outputText value="#{numbersBean.doubleNumber}">
<f:convertNumber type="number" maxIntegerDigits="5" maxFractionDigits="5"
groupingUsed="false">
</f:convertNumber>
</h:outputText>
<br/>
<h:outputText value="#{numbersBean.doubleNumber}">
<f:convertNumber type="number" maxIntegerDigits="5" maxFractionDigits="0">
</f:convertNumber>
</h:outputText>
<br/>
<h:outputText value="#{numbersBean.doubleNumber}">
<f:convertNumber type="currency" currencySymbol="$" maxIntegerDigits="5" maxFractionDigits="2">
</f:convertNumber>
</h:outputText>
<br/>
<h:outputText value="#{numbersBean.doubleNumber}">
<f:convertNumber type="percent" maxIntegerDigits="5" maxFractionDigits="5">
</f:convertNumber>
</h:outputText>
<br/>
<h:outputText value="#{numbersBean.doubleNumber}">
<f:convertNumber pattern="####,00%">
</f:convertNumber>
</h:outputText>
</b>
</h:form>
</h:body>
</html>
@ManagedBean(name="numbersBean")
@SessionScoped
public class NumbersBean {
private double doubleNumber = 12345.12345;
public double getDoubleNumber() {
return doubleNumber;
}
public void setDoubleNumber(double doubleNumber) {
this.doubleNumber = doubleNumber;
}
}
输出的结果如下:
convertNumber的各参数的含义,下次再添加,不过不难理解。