Есть ли способ использования JSF2.0 в связи со списками переменных компонентов? Например, допустим, у меня есть список людей, которых я хотел бы отредактировать. Они представлены на странице в виде списка компонентов PersonEditor, которые позволяют изменять персональные данные. Каждый редактор связан с одним элементом Person. Чтобы это работало, мне нужно выполнить следующие шаги:
По первому запросу:
- Получить список людей
- Для каждого человека создайте PersonEditor и свяжите его с объектом Person.
- Заполнить данные редактора.
Действие пользователя:
- Когда пользователь изменяет значения и нажимает Сохранить, данные обрабатываются компонентом поддержки.
Я могу либо заполнить редактор данными из списка людей, либо связать их с компонентом поддержки, но не одновременно, поэтому я застрял.
Я пытался
people.xhtml
<ui:render value="#{bean.people}" var="person">
<example:personEditor person="#{person}"/>
</ui:render>
где personEditor.xhtml:
а) правильная ассоциация с объектом person, но без связи с компонентом поддержки
<h:form>
<h:outputText value="#{cc.attr.person.name}"/>
<h:commandButton name="Save" actionListener="editorBean.save">
<f:ajax execute="@form" render="@form"/>
</h:commandButton>
</h:form>
b) нет связи с личным объектом, но есть связь с поддерживающим бином - нет способа передать этого человека поддерживающему бобу
<h:form>
<h:outputText value="#{editorBean.name}"/>
<h:commandButton name="Save" actionListener="editorBean.save">
<f:ajax execute="@form" render="@form"/>
</h:commandButton>
</h:form>
Если бы у меня был каждый редактор на отдельной странице, я мог бы передать идентификатор человека в качестве параметра url (используя f: param или f: attribute) и инициализировать его соответствующим образом.
Есть ли решение этой проблемы?