Richfaces выберите меню рендеринга, вызванного событием

У меня есть всплывающее окно, которое используется в нескольких вкладках, и всплывающее окно использует некоторые параметры из вкладок, такие как dialogContainerId а также dialogId,

У меня есть меню "Выбрать пункт" и кнопка "Обновить элементы" рядом с ним. Поэтому, когда пользователь нажимает кнопку, я хочу получить новый список элементов для меню выбора. Меню выбора работает как положено, а кнопка "обновить" - нет. Я уверен, что слушатель на кнопке обновления работает хорошо и может видеть обновленный список элементов, если новые элементы появляются в базе данных. Но меню выбора не обновляется. Это похоже на render атрибут на f:ajax не работает или есть несоответствие идентификатора. Я проверил страницу и ничего не нашел. Идентификаторы выглядят хорошо. Я пробовал постоянные идентификаторы и пытался переместить идентификатор в родительский тег, но всегда получал один и тот же результат - меню выбора не перерисовывалось.

У кого-нибудь есть идеи или предложения? Заранее спасибо.

Вот исходная страница:

<ui:composition>
    <h:panelGroup id="#{dialogContainerId}">
        <rich:popupPanel id="#{dialogId}" autosized="true" modal="true" domElementAttachment="parent">
            <h:panelGrid id="#{dialogId}commonControls" columns="3">

                <!-- more input tags -->

                <h:outputLabel value="Create dialog" />
                <h:panelGroup>
                    <rich:select id="#{dialogId}expenseItem" value="#{expenseItemInstanceBean.selectedExpenseItemId}"
                                 selectFirst="true" required="true" requiredMessage="Required">
                        <f:selectItems value="#{expenseItemInstanceBean.expenseItemsAsList}"
                                       var="item" itemValue="#{item.id}" itemLabel="#{item.name}" />
                    </rich:select>
                    <h:graphicImage library="icons" name="refresh_16x16.gif" title="Refresh">
                        <f:ajax event="click" execute="@this" render="#{dialogId}expenseItem"
                                listener="#{expenseItemInstanceBean.refreshExpenseItems()}" />
                    </h:graphicImage>
                </h:panelGroup>
                <h:messages for="#{dialogId}expenseItem" />

                <!-- more input tags -->

            </h:panelGrid>

            <!-- button tags tags -->

        </rich:popupPanel>
    </h:panelGroup>
</ui:composition>

И часть визуализированной HTML-страницы:

<td>
    <div class="rf-sel" id="idForm:wrkSchedDialogexpenseItem">

        <!-- here is my list and additional autogenerated jsf tags -->

    </div>
    <img id="idForm:j_idt42" src="/logistics-web/javax.faces.resource refresh_16x16.gif.xhtml?ln=icons"
         alt="" style="vertical-align: bottom" title="Refresh"
         onclick="mojarra.ab(this,event,'click','@this','idForm:wrkSchedDialogexpenseItem');return false"
         class="linkLikeCursor" name="idForm:j_idt42"/>ev
</td>

0 ответов

Другие вопросы по тегам