Richfaces 4 extendeddatatable не отображает обновленные данные после рендеринга ajax

Окружающая среда:

Jboss 7.1.1.Final JSF 2.2.6 Шов 2.3.1.Final Richfaces 4.5.10.Final

Проблема

Расширенная таблица данных Richfaces 4 при рендеринге не содержит значения (раскрывающийся список ресурсов в приведенном ниже примере).

Шаги:

  1. Сначала я выбираю значение из раскрывающегося списка ресурсов.
  2. Затем я выбираю значение из раскрывающегося списка «Результат», которое запускает вызов a4j: ajax.

Моя структура XHTML приведена ниже:

<a4j:region id="hraregion">
    <rich:extendedDataTable id="hraProcessing"
        value="#{maActionList}" var="mpa" selectionMode="single">

        <h:column width="200px">
            <f:facet name="header">
                <h:outputText value="Resource" />
            </f:facet>
            <h:selectOneMenu id="staffResources" value="{mpa.staffResources}" label="Resource"
                <s:selectItems value="#{mpa.validStaffResources}" var="sr" label="#{sr.firstName} #{sr.lastName}"/>
                <s:convertEntity />
            </h:selectOneMenu>
        </h:column>
        <rich:column width="140px">
            <f:facet name="header">
                <h:outputText value="Result" />
            </f:facet>
            <h:selectOneMenu id="results" value="#{mpa.actionResults}">
                <a4j:ajax execute="region"  listener="#{maintainAssessment.performNextAction(mpa, 'mpa')}" render="hraProcessing, actionMessage" />
                <s:selectItems value="#{mpa.validActionResults}" var="ar" label="#{ar.name}" noSelectionLabel="Select One" />
                <s:convertEntity />
            </h:selectOneMenu>
        </rich:column>
    </rich:extendedDataTable>
</a4j:region>

Примечание.

Мы переходим с Richfaces 3.3 на 4.5, и эта функция отлично работала в Richfaces 3.3, но, конечно, вся страница была обновлена ​​в 3.3, в отличие от частичного обновления в Richfaces 4.5.

Может ли кто-нибудь указать мне правильное направление, как сохранить выбранное значение после рендеринга a4j?


person ashwin    schedule 14.01.2016    source источник


Ответы (1)


Я нашел способ сделать это, немедленно обновив вспомогательный компонент с помощью f: ajax после изменения значения в раскрывающемся списке ресурсов. Надеюсь, это поможет кому-то, кто сталкивается с той же проблемой.

<h:selectOneMenu id="staffResources" value="#{mpa.staffResources}"
    label="Resource" styleClass="LFloat">
    <s:selectItems value="#{mpa.validStaffResources}" var="sr"
    label="#{sr.firstName} #{sr.lastName}"/>
    <s:convertEntity />
    <f:ajax event="valueChange" execute="@this" render="@none"/>
</h:selectOneMenu>
person ashwin    schedule 15.01.2016