Я нахожусь в середине перехода от Richfaces 3.3.3 к Richfaces 4.3.0, в котором содержится призыв к обновлению JSF с 1.2 до 2.1. Мы также используем Spring Webflow 2.3.2 (повышен с 2.1.1) для определения беседы. Все бобы управляются весной (без управляемых бобов JSF). Несколько компонентов Richfaces необходимо было настроить для правильной работы приложения снова. Проблема у меня сейчас касается богатых: компонент PickList, который выглядит следующим образом (я взял витрину примера и редактировал его изобразить проблему):Невозможно заполнить правую часть RichFaces 4 pickList под управлением Spring Webflow, управляемого Beans
<rich:pickList id="ownPicklist" value="#{listSelectBean.selectedCapitals}"
sourceCaption="Available cities" targetCaption="Selected cities"
listWidth="165px" listHeight="100px">
<a4j:ajax event="change" execute="@this" render="#{mainBean.dynamicRerenderList}" />
<f:selectItems value="#{listSelectBean.capitals}" var="capital"
itemValue="#{capital}" itemLabel="#{capital.name}" />
<f:converter converterId="CapitalsConverter" />
</rich:pickList>
Теперь в отличии от примера витрины, наша ListSelectBean является Весна фасоли и определяется следующим образом:
<bean id="listSelectBean" class="com.xyz.example.bean.ListSelectBean" scope="request" />
обычай конвертер регистрируется в гранях-config.xml:
<converter>
<converter-id>CapitalsConverter</converter-id>
<converter-class>com.xyz.converter.CapitalsConverter</converter-class>
</converter>
A s вы можете видеть, что у нас есть обработчик событий ajax, прикрепленный к pickList, который динамически вычисляет список компонентов, подлежащих повторной передаче, в зависимости от выбранного значения (ов) из списка. Этот список также содержит сам pickList, который, как правило, должен быть переиздан с гораздо меньшим количеством элементов для выбора. Ответ ajax, который я получаю, содержит полный список источников, но список целей пуст.
Теперь к проблеме:
Когда я выбираю элемент с левой стороны он переходит на правую сторону и сразу же снова. Я отлаживал проблему и узнал, что все геттеры и сеттеры listSelectBean вызывается правильно, когда выполняются разные фазы JSF. Тот же пример с управляемым JSF, обработчиком запросов, обработанным в режиме реального времени, отлично работает (который находится в витрине Richfaces), а также с ajax rerender на самом компоненте. Я подозреваю, что проблема с обработкой bean-компонентов весной (Webflow). Но я не могу это точно определить. Любая помощь будет высоко оценена.