私は現在、私の会社のプロジェクトの1つを開発しています。私は 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 になります。従業員オブジェクトを作成しなければ、すべてうまくいきます。なんで?何も思いつきません。手伝ってくれてどうもありがとう!