在组件属性中的 java.lang.String 值与 java.lang.Enum 的数据类型或 Java enum 基本类型之间进行转换。JavaServer Faces 1.2 和更高版本中提供了该转换器,因此,您的项目必须使用 Java EE 5。该转换通常适用于组件用来显示值和提取用户输入值的属性。例如,文本字段组件使用 text 属性来实现此目的。
EnumConverter() 来实例化该转换器,但是,您必须确保该转换器使用以下类构造函数(它将 Java enum 类作为参数):
EnumConverter(Class targetClass)
例如,如果组件绑定到类型为 Day 的 enum 值,则该类的声明如下所示:
public enum Day {Sunday, Monday, Tuesday,
Wednesday, Thursday,
Friday, Saturday};
private EnumConverter enumConverter1 = new EnumConverter();
Day 类作为参数添加到 new EnumConverter() 语句中,如下所示:
private EnumConverter enumConverter1 = new EnumConverter(Day.class);
name: 'entered-value' must be a converter-type.
在此消息中,name 是组件 ID 或其标签的内容(如果存在),entered-value 是用户输入的值,converter-type 是转换器类型。例如,如果转换器是 Big Decimal 转换器,则 converter-type 是 signed decimal number。