我目前正在开发我公司的一个项目。我使用 JSF 和 PrimeFaces。根据项目要求,我使用 PrimeFaces SelectOneMenu 来显示员工列表,如下所示...
<p:selectOneMenu id="employee" value="#{employeeBean.employee}"
converter="employeeConverter">
<f:selectItem itemLabel="" itemValue="" />
<f:selectItems value="#{employeeBean.employeeList}" var="emp"
itemLabel="#{emp.name}" itemValue="#{emp}" />
</p>
这是我的 Employee 对象的 Equals 方法...
@Override
public boolean equals(Object obj) {
if (!(obj instanceOf Employee)) {
return false;
}
Employee employee = (Employee) obj;
return this.id.equals(employee.getId());
}
如果我Employee employee = new Employee();
在 Employee Bean init Method 处创建员工对象@PostConstruct public void init(){}
,则表示的员工对象this
变为 null。如果我不创建员工对象,一切正常。为什么?我不知道。非常感谢你的帮助!