Я отображаю ArrayList (menu.specifications), содержащий пользовательские объекты (POJO), в нескольких h: dataTables на одной странице.Каждый h: dataTable содержит различный диапазон элементов ArrayList.Один столбец содержит тег h: inputText.
После ввода и отправки пользователем обновляются только теги inputText из последней таблицы данных.Остальные остаются без изменений.
Вот соответствующий код:
<h:form>
<ui:repeat value="#{menu.groupTitles}" var="element" varStatus="loop">
<h:dataTable rendered="#{menu.points[loop.index].y>0}" value="#{menu.specifications}"
first="#{menu.points[loop.index].x}" rows="#{menu.points[loop.index].y}" var="rowVar" border="1">
<h:inputText value="#{rowVar.pvalue}" id="pvalue"/>
Я тоже пробовал:
<h:inputText value="#{menu.specifications[rowVar.index].pvalue}" id="pvalue"/>
Объяснение ссылок:
menu.points[loop.index].x
= первый элемент ArrayList для отображения в dataTable menu.points[loop.index].y
= количество элементов для отображения в dataTable menu.groupTitles
= заголовки различныхdataTables