【发布时间】:2011-03-06 18:09:30
【问题描述】:
有谁知道我在哪里可以获得 JSF 使用的转换器列表,以便我可以在资源包中为它们设置自定义消息?
【问题讨论】:
标签: jsf message converter resourcebundle
有谁知道我在哪里可以获得 JSF 使用的转换器列表,以便我可以在资源包中为它们设置自定义消息?
【问题讨论】:
标签: jsf message converter resourcebundle
您可以在JSF specification 的第 2.5.2.4 章中找到它们。这是相关性的摘录:
- javax.faces.component.UIInput.CONVERSION -- {0}:发生转换错误
- javax.faces.converter.BigDecimalConverter.DECIMAL={2}:“{0}”必须是有符号十进制数。
- javax.faces.converter.BigDecimalConverter.DECIMAL_detail={2}:''{0}'' 必须是由零位或多位数字组成的带符号十进制数,后跟小数点和小数。示例:{1}
- javax.faces.converter.BigIntegerConverter.BIGIINTEGER={2}:“{0}”必须是由一位或多位数字组成的数字。
- javax.faces.converter.BigIntegerConverter.BIGIINTEGER_detail={2}:''{0}'' 必须是由一位或多位数字组成的数字。示例:{1}
- javax.faces.converter.BooleanConverter.BOOLEAN={1}:“{0}”必须为“真”或“假”。
- javax.faces.converter.BooleanConverter.BOOLEAN_detail={1}:“{0}”必须为“真”或“假”。 'true' 以外的任何值都将评估为 'false'。
- javax.faces.converter.ByteConverter.BYTE={2}:“{0}”必须是 0 到 255 之间的数字。
- javax.faces.converter.ByteConverter.BYTE_detail={2}:“{0}”必须是 0 到 255 之间的数字。示例:{1}
- javax.faces.converter.CharacterConverter.CHARACTER={1}:“{0}”必须是有效字符。
- javax.faces.converter.CharacterConverter.CHARACTER_detail={1}:“{0}”必须是有效的 ASCII 字符。
- javax.faces.converter.DateTimeConverter.DATE={2}:“{0}”无法理解为日期。
- javax.faces.converter.DateTimeConverter.DATE_detail={2}:“{0}”无法理解为日期。示例:{1} 第 2 章请求处理生命周期 2-19
- javax.faces.converter.DateTimeConverter.TIME={2}: ''{0}'' 无法理解为时间。
- javax.faces.converter.DateTimeConverter.TIME_detail={2}:“{0}”无法理解为时间。示例:{1}
- javax.faces.converter.DateTimeConverter.DATETIME={2}: ''{0}'' 无法理解为日期和时间。
- javax.faces.converter.DateTimeConverter.DATETIME_detail={2}:“{0}”无法理解为日期和时间。示例:{1}
- javax.faces.converter.DateTimeConverter.PATTERN_TYPE={1}:必须指定“模式”或“类型”属性才能转换值“{0}”。
- javax.faces.converter.DoubleConverter.DOUBLE={2}:“{0}”必须是由一位或多位数字组成的数字。
- javax.faces.converter.DoubleConverter.DOUBLE_detail={2}:“{0}”必须是介于 4.9E-324 和 1.7976931348623157E308 之间的数字 示例:{1}
- javax.faces.converter.EnumConverter.ENUM={2}:“{0}”必须可转换为枚举。
- javax.faces.converter.EnumConverter.ENUM_detail={2}:“{0}”必须可从包含常量“{1}”的枚举转换为枚举。
- javax.faces.converter.EnumConverter.ENUM_NO_CLASS={1}:“{0}”必须可从枚举转换为枚举,但未提供枚举类。
- javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail={1}:“{0}”必须可从枚举转换为枚举,但未提供枚举类。
- javax.faces.converter.FloatConverter.FLOAT={2}:“{0}”必须是由一位或多位数字组成的数字。
- javax.faces.converter.FloatConverter.FLOAT_detail={2}:“{0}”必须是介于 1.4E-45 和 3.4028235E38 之间的数字 示例:{1}
- javax.faces.converter.IntegerConverter.INTEGER={2}:“{0}”必须是由一位或多位数字组成的数字。
- javax.faces.converter.IntegerConverter.INTEGER_detail={2}:“{0}”必须是介于 -2147483648 和 2147483647 之间的数字 示例:{1}
- javax.faces.converter.LongConverter.LONG={2}:“{0}”必须是由一位或多位数字组成的数字。
- javax.faces.converter.LongConverter.LONG_detail={2}:“{0}”必须是介于 -9223372036854775808 到 9223372036854775807 之间的数字 示例:{1}
- javax.faces.converter.NumberConverter.CURRENCY={2}:“{0}”无法理解为货币值。
- javax.faces.converter.NumberConverter.CURRENCY_detail={2}:“{0}”无法理解为货币值。示例:{1}
- javax.faces.converter.NumberConverter.PERCENT={2}:“{0}”无法理解为百分比。
- javax.faces.converter.NumberConverter.PERCENT_detail={2}:“{0}”无法理解为百分比。示例:{1}
- javax.faces.converter.NumberConverter.NUMBER={2}:“{0}”不是数字。
- javax.faces.converter.NumberConverter.NUMBER_detail={2}:“{0}”不是数字。示例:{1}
- javax.faces.converter.NumberConverter.PATTERN={2}:''{0}'' 不是数字模式。
- javax.faces.converter.NumberConverter.PATTERN_detail={2}:“{0}”不是数字模式。示例:{1}
- javax.faces.converter.ShortConverter.SHORT={2}:“{0}”必须是由一位或多位数字组成的数字。
- javax.faces.converter.ShortConverter.SHORT_detail={2}:“{0}”必须是介于 -32768 和 32767 之间的数字示例:{1}
- javax.faces.converter.STRING={1}:无法将“{0}”转换为字符串。
您还可以在 JSF API JAR 文件的 javax.faces.Messages 属性文件中找到它们。这更容易复制和编辑:)
【讨论】:
如果您询问转换/验证错误消息,那么您可以在 .properties 文件中为您指定的消息包指定自定义消息。
例如:-
javax.faces.component.UIInput.CONVERSION=''{0}'' my error
这就是你所追求的吗?
【讨论】: