私はこの問題を抱えています: Type Test クラスのオブジェクトのリストを含む dataTable があり、「Assigned to」という名前の列があり、行に表示されているテストが割り当てられているユーザーの名前を表示したいので、私はこれを行う方法を書きました:
<p:column headerText="Assigned to">
<h:outputText value="#{projectCampaignManagementMB.initAssignedToData(test)}" />
</p:column>
次のエラーが表示されます。
nov. 04, 2012 4:42:06 PM com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback visit
Grave: javax.el.ELException: /campaingManagement.xhtml @2388,132 value="#{projectCampaignManagementMB.initAssignedToData(test)}": java.lang.NullPointerException
すべてのコードは次のとおりです。
<p:dataTable var="test" value="#{projectCampaignManagementMB.campaignTestList}" >
<p:column headerText="User">
</p:column>
<p:column headerText="Assigned to">
<h:outputText value="#{projectCampaignManagementMB.initAssignedToData(test)}" />
</p:column>
</dataTable>
メソッド:
public String initAssignedToData(Test pTest){
int assigendID = currentCampaign.getAssignedUserID(pTest);
User pUser = (User) userByID.get(new Integer(assigendID));
System.out.println("User assigned is = " + pUser + " , assigendID = " + assigendID);
return(((User) userByID.get(new Integer(assigendID))).getLoginFromModel()); // TO CHANGE
}
これを実装する別の方法があります。どうもありがとう