Подтвердить что ты не робот

Не работает ли метод ui: repeat value (with parameter) при запросе ajax?

Когда mypage.xhtml загружается в первый раз, #{DashBoard.getResvDataModelList(date, meetingRoom)} работает хорошо. Когда ajax-запрос экземпляра h:commandLink, date и 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

MyMethod

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>
4b9b3361