mypage.xhtml
初めてロードするときは、#{DashBoard.getResvDataModelList(date, meetingRoom)}
うまく機能します。h:commandLink
、date
および インスタンスの ajax リクエストmeetingRoom
が null の場合。そういうわけで、私NullPointerException
は私のgetResvDataModelList(Date date, MeetingRoom meetingRoom)
方法に入ります。
どうすればこの問題を解決できますか? 私の状況は、値メソッドで使用する必要がpage parameter
あるui:repeat
ことです。別の解決策を提供していただけますか?
を削除する<ui:repeat value="#{DashBoard.getResvDataModelList(date, meetingRoom)}" var="model" >
と、私のページは ajax リクエストでうまく機能します。
原因 :
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) [jboss-jsf-api_2.1_spec-2.0.5.Final.jar:2.0.5.Final]
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [jsf-impl-2.1.7-jbossorg-2.jar:]
... 38 more
マイメソッド
public List<ResvDataModel> getResvDataModelList(Date date, MeetingRoom meetingRoom) {
logger.debug("getResvDataModelList() ====> " + formatter.format(date) + " : " + meetingRoom.getName());
}
mypage.xhtml
<h:commandLink action="#{DashBoard.increase()}" value="NextWeek" immediate="true" >
<f:ajax execute="@this" render="dashboard" />
</h:commandLink>
<h:panelGroup id="dashboard">
<table style="margin-top:-1px;" class="dashboard">
<ui:repeat value="#{DashBoard.dateList}" var="date">
<tr>
<td style="background:#DBEAF9;">
<h:outputText value="#{date}" style="color:#333333;font-size:13px;">
<f:convertDateTime type="date" pattern="EEE, yyyy-MM-dd"/>
</h:outputText>
</td>
<ui:repeat value="#{DashBoard.timeSlot}" var="timeSlot" >
<td style="background:#DBEAF9;text-align: center;width:70px;">
<h:outputText value="#{timeSlot}" style="font-size:12px;"/>
</td>
</ui:repeat>
</tr>
<ui:repeat value="#{DashBoard.resourceList}" var="meetingRoom">
<tr>
<td>
<h:outputText value="#{meetingRoom.name}" style="font-size:12px;"/>
</td>
<ui:repeat value="#{DashBoard.getResvDataModelList(date, meetingRoom)}" var="model" >
<td>
<h:outputText value="#{model.id}" style="font-size:11px;"/>
</td>
</ui:repeat>
</tr>
</ui:repeat>
</ui:repeat>
</table>
</h:panelGroup>