微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jsf – 在ajax渲染后缺少javax.faces.ViewState

这不是一个重复的帖子,我只是做了研究,但没有帮助.

首先,这是我的页面…简化以便于阅读.

<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.

尝试render =“@ all”或render =“treeForm,taskListTableForm”,都失败了.我等不及mojarra发布2.2.那么这里有解决方法吗?

非常感谢. JIRA太难理解了.

编辑:还有另一个问题,如果我点击树节点,页面在dataTable中从1变为2.为什么?

解决方法

我知道您可能已经解决了这个问题,但为了将来参考,this应该为其他人提供解决方案.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐