Это не повторяющийся пост, я только что провел исследование, но не помогаю.
Во-первых, это моя страница ... упрощена для удобного чтения.
<h:form id="treeForm">
<f:event type="preRenderView" listener="#{taskTreeBean.update}" />
<rich:tree id="tree" nodeType="#{node.type}" var="node"
value="#{taskTreeBean.rootNodes}" toggleType="client"
selectionType="ajax"
render="@all"
selectionChangeListener="#{taskTreeBean.selectionChanged}">
<rich:treeNode>
...
</rich:treeNode>
</rich:tree>
</h:form>
<h:form id="taskListTableForm">
<rich:dataTable id="taskListTable" styleClass="tasklist" keepSaved="true" value="#{taskListModel}" var="task"
rowClasses="odd-row, even-row" rows="3">
<rich:column>
...
</rich:column>
<f:facet name="footer">
<rich:dataScroller id="scroller" for="taskListTable" />
</f:facet>
</rich:dataTable>
</h:form>
Когда я щелкаю какой-либо узел дерева, форма списка задач будет отображаться, но состояние просмотра исчезнет, что заставит dataScroller потребовать два щелчка для перехода на следующую / предыдущую страницу, поскольку первый щелчок возвращает значение ViewState.
Я проверил здесь JIRA - http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-790.
Tried render = "@ all" или render = "treeForm, taskListTableForm", оба не выполнены. Я не могу ждать Моджарра, чтобы выпустить 2.2. Так есть ли обходной путь здесь?
Большое спасибо. JIRA слишком сложно понять.
Отредактировано: Есть еще одна проблема, страница переходит от 1 до 2 в dataTable, если я щелкаю узел дерева. Почему?