【发布时间】:2013-03-28 18:54:35
【问题描述】:
我目前正在开发我公司的一个项目。我使用 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 Bean init Method @PostConstruct public void init(){}创建员工对象Employee employee = new Employee();,则this所代表的员工对象变为null。如果我不创建员工对象,一切正常。为什么?我不知道。非常感谢您的帮助!
【问题讨论】:
-
this变量永远不会是null,但this.id可能是null在您构造实例之后但在您为id赋值之前。 -
@CharlesForsythe 感谢您的评论! :-)
标签: java jsf primefaces nullpointerexception