本文概述
- JSF NumberConverter示例
- JSF < f:converterNumber> 示例2
下表包含NumberConverter属性:
属性 | 类型 | 描述 |
---|---|---|
binding | NumberConverter | 它用于将转换器绑定到托管bean属性。 |
currencyCode | String | 它代表ISO 4217货币代码, 仅在格式化货币时使用。 |
currencySymbol | String | 它代表货币符号, 仅在格式化货币时适用。 |
for | String | 它与复合组件一起使用。它引用此标记嵌套在其中的复合组件内的对象之一。 |
groupingUsed | Boolean | 它指定格式化的输出是否包含分组分隔符。 |
integerOnly | Boolean | 它指定是否仅解析值的整数部分。 |
locale | 字符串或语言环境 | 其数字样式用于格式化或解析数据。 |
maxFractionDigits | int | 它用于设置在输出的小数部分中格式化的最大位数。 |
maxIntegerDigits | int | 它用于设置在输出的整数部分中格式化的最大位数。 |
minFractionDigits | int | 它用于设置在输出的小数部分中格式化的最小位数。 |
minIntegerDigits | int | 它用于设置在输出的整数部分中格式化的最小位数。 |
pattern | String | 它用于自定义格式设置模式, 该模式确定如何格式化和解析数字字符串。 |
type | String | 它用于指定是否将字符串值解析并格式化为数字, 货币或百分比。如果未指定, 则使用数字。 |
<
h:form>
<
h:outputLabel for="username">
User Name<
/h:outputLabel>
<
h:inputText id="user-id" value="http://www.srcmini.com/#{user.name}"/>
<
br/>
<
h:outputLabel for="shirtPrice">
Shirt Price<
/h:outputLabel>
<
h:inputText id="shirtPrice-id" value="http://www.srcmini.com/#{user.shirtCost}" autocomplete="off">
<
f:convertNumber currencySymbol="$" type="currency"/>
<
/h:inputText>
<
br/>
<
h:commandButton action="response.xhtml" value="http://www.srcmini.com/Submit"/>
<
/h:form>
// User.java
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class User {
String name;
int shirtPrice;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getShirtCost() {
return shirtPrice;
}
public void setShirtCost(int shirtPrice) {
this.shirtPrice = shirtPrice;
}
}
输出:
//索引页
文章图片
//回应页面
文章图片
JSF < f:converterNumber> 示例2 在以下示例中, 我们将货币应用模式。可以定制此模式。下表包含一些货币模式示例。
值 | 图案 | 输出量 | 说明 |
---|---|---|---|
526894.989 | ###, ###.### | 526, 894.989 | 井号(#)表示一个数字, 逗号是分组分隔符的占位符, 句点是十进制分隔符的占位符。 |
526894.989 | ###.## | 526894.99 | 该值在小数点右边有三位数字, 但是模式只有两位。 format方法通过四舍五入来处理此问题。 |
852.89 | 000000.000 | 000852.890 | 此模式指定前导零和尾随零, 因为使用0字符代替了井号(#)。 |
52689.98 | $###, ###.### | $52, 689.98$200 | 模式中的第一个字符是美元符号($)。请注意, 它紧靠格式化输出中最左边的数字。 |
52689.98 | \ u00A5 ###, ###。### | ¥52, 689.98 | 该模式使用Unicode值00A5指定日元(¥)的货币符号。 |
<
h:form>
<
h:outputLabel for="username">
User Name<
/h:outputLabel>
<
h:inputText id="user-id" value="http://www.srcmini.com/#{user.name}"/>
<
br/>
<
h:outputLabel for="shirtPrice">
Shirt Price<
/h:outputLabel>
<
h:inputText id="shirtPrice-id" value="http://www.srcmini.com/#{user.shirtCost}" autocomplete="off">
<
/h:inputText>
<
br/>
<
h:commandButton action="response.xhtml" value="http://www.srcmini.com/Submit"/>
<
/h:form>
// User.java
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class User {
String name;
int shirtPrice;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getShirtCost() {
return shirtPrice;
}
public void setShirtCost(int shirtPrice) {
this.shirtPrice = shirtPrice;
}
}
// response.xhtml
<
h:body>
<
h1>
Hello, <
h:outputText value="http://www.srcmini.com/#{user.name}"/>
<
/h1>
<
h:outputLabel value="http://www.srcmini.com/Shirt's Price is: ">
<
/h:outputLabel>
<
h:outputText value="http://www.srcmini.com/#{user.shirtCost}">
<
f:convertNumber pattern="$###" />
<
/h:outputText>
<
/h:body>
输出:
//索引页
文章图片
【JSF f:convertNumber标记】//回应页面
文章图片
推荐阅读
- JSF CRUD(创建读取更新删除)应用程序
- JSF f:convertDateTime标记
- JSF复合组件
- JSF h:commandLink标记
- JSF h:commandButton标记
- JSF Bean验证
- 创建Facelets视图并映射Faces Servlet
- Facelets模板
- JSF Facelets语言