我正在尝试将OmniFaces转换器omnifaces.SelectItemsIndexConverter实施为我正在研究的错误跟踪工具。
单击表单提交按钮时,无法为托管bean转换对象
运行带有JSF 2.2 Java EE 7,GlassFish 4.1.1的Netbeans 8.2。使用OmniFaces 2.7.1
JSF表单输入:
<h:selectOneMenu id="priority" value = "#{createBugManagedBean.priority}" converter="omnifaces.SelectItemsIndexConverter">
<f:selectItems value="#{createBugManagedBean.priorities}" var="priorities" itemValue="#{priorities}" itemLabel="#{priorities.name}"/>
</h:selectOneMenu>
受管bean对象:
private BugPrioritiesDTO priority;
private ArrayList<BugPrioritiesDTO> priorities;
BugPrioritiesDTO类:
public class BugPrioritiesDTO implements Serializable {
Integer id;
String name;
public BugPrioritiesDTO(Integer id, String name) {
this.id = id;
this.name = name;
}
public Integer getId() {
return id;
}
public String getName() {
return name;
}
}
这是单击表单提交按钮时出现在网页上的内容。
Could not convert value '0' for component j_idt18:priority.
Could not convert value '0' for component j_idt18:severity.
不确定值'0'是什么意思。是在字面上试图将整数值0转换为对象,还是0表示我要转换的对象的索引?
0是代表优先级值“ Lowest”的主键。如果我将优先级更改为“低”,则表示无法转换值“ 1”,“中”为“ 2” ...等。