我得到這個問題:我有一個dataTable包含類型測試類的對象列表,我有一列名爲「分配給」,其中我想顯示用戶的名稱該行中顯示的測試被分配給所以我寫了這樣做的方法:在數據表中調用託管bean方法
<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
}
那麼,有沒有實現這個法子。 非常感謝
你的代碼沒問題。 「它被認爲是一個錯誤」是什麼意思?如果您的IDE對此抱怨並且它按預期工作,那麼您的IDE可能是錯誤的。 –
@KeremBaydoğan對不起,我嘗試再次運行它,我得到這個錯誤:你可以看到編輯 – AmiraGL
@AmiraGL如果userByID是一個地圖添加containsKey檢查之前'userByID.get ...'如果它不包含返回null(例如)...(通常在嘗試使用'get'之前添加包含檢查) – Daniel