JSF <f:convertNumber> 标签

2024 年 8 月 29 日 | 阅读 3 分钟

它用于将组件(用户输入)数据转换为 Java 数字类型。 您可以通过将 convertNumber 标签嵌套在组件标签内,将组件的数据转换为 java.lang.Number。 convertNumber 标签具有多个属性,允许您指定数据的格式和类型。

下表包含 NumberConverter 属性

属性类型描述
bindingNumberConverter它用于将转换器绑定到托管 bean 属性。
currencyCodeString它表示 ISO 4217 货币代码,仅在格式化货币时使用。
currencySymbolString它表示货币符号,仅在格式化货币时应用。
forString它用于复合组件。 它引用此标签嵌套在其中的复合组件内的其中一个对象。
groupingUsedBoolean它指定格式化输出是否包含分组分隔符。
integerOnlyBoolean它指定是否仅解析该值的整数部分。
localeString 或 Locale它的数字样式用于格式化或解析数据。
maxFractionDigitsint它用于设置输出的 fractional 部分中格式化的最大位数。
maxIntegerDigitsint它用于设置输出的整数部分中格式化的最大位数。
minFractionDigitsint它用于设置输出的 fractional 部分中格式化的最小位数。
minIntegerDigitsint它用于设置输出的整数部分中格式化的最小位数。
patternString它用于自定义格式化模式,该模式确定数字字符串的格式化和解析方式。
typeString它用于指定字符串值是作为数字、货币还是百分比进行解析和格式化。 如果未指定,则使用数字。

JSF NumberConverter 示例

// index.xhtml

// User.java

输出

// 首页

JSF F convertnumber tag 1

// 响应页面

JSF F convertnumber tag 2

JSF <f:converterNumber> 示例 2

在下面的示例中,我们正在应用货币的模式。 此模式可以自定义。 下表包含一些货币模式示例。

图案输出说明
526894.989###,###.###526,894.989磅符号 (#) 表示一个数字,逗号是分组分隔符的占位符,句点是小数分隔符的占位符。
526894.989###.##526894.99此值在小数点右侧有三位数字,但该模式只有两位数字。 格式方法通过四舍五入来处理这种情况。
852.89000000.000000852.890此模式指定前导零和尾随零,因为 0 字符用于代替磅符号 (#)。
52689.98$###,###.###$52,689.98$200该模式中的第一个字符是美元符号 ($)。 请注意,它紧接在格式化输出中最左边的数字之前。
52689.98\u00A5###,###.###¥52,689.98该模式指定日元 (¥) 的货币符号,其 Unicode 值为 00A5。

// index.xhtml

// User.java

// response.xhtml

输出

// 索引页面

JSF F convertnumber tag 3

// 响应页面

JSF F convertnumber tag 4