класса javax.сталкиваться.ViewState отсутствует после рендеринга ajax
Это не дублирующий пост, я просто провел исследование, но не помог.
Во-первых, это моя страница... упрощенный для удобства чтения.
<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>
Когда я нажимаю на какой-то узел дерева, форма списка задач будет отображаться, но viewstate исчезнет, что делает dataScroller требует два клика на следующую/предыдущую страницу, так как первый клик возвращает значение ViewState.
Я проверил Джиру здесь - http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-790 .
Попытался оказать="@all" или оказываете="treeForm, taskListTableForm", оба потерпели неудачу. Я не могу дождаться, когда мохарра выпустит 2.2. Так есть ли здесь обходной путь?
Большое спасибо. Джира просто слишком трудна для понимания.
Отредактировано: Есть еще одна проблема, страница переходит от 1 до 2 в dataTable, если я нажму на узел дерева. Почему?
2 ответа:
Я знаю, что вы, вероятно, решили эту проблему, но для дальнейшего использования, это должно предоставить другим решение.