【问题标题】:javax.faces.ViewState is missing after ajax renderajax 渲染后 javax.faces.ViewState 丢失
【发布时间】:2011-12-11 11:04:22
【问题描述】:

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

首先,这是我的页面...为便于阅读而进行了简化。

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

我在这里检查了 JIRA -http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-790

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

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

已编辑: 还有一个问题,如果我单击树节点,数据表中的页面会从 1 变为 2。为什么?

【问题讨论】:

  • 我认为是时候接受答案了..

标签: jsf jsf-2 richfaces viewstate mojarra


【解决方案1】:

我遇到了同样的问题,并通过将 PrimeFaces 3.0 中的 &lt;f:ajax/&gt; 替换为 &lt;p:ajax/&gt; 来解决它。有问题的页面没有其他 PrimeFaces 组件。我不知道它为什么有效,但希望它适用于您的情况。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • Thumbs Up 非常感谢这个文档解释了整个问题,但是我必须在提交第一个表单时呈现第二个表单必须渲染另一个这是修复规则
    • 感谢我花了一整天的时间。
    猜你喜欢
    • 2013-01-17
    • 2021-07-15
    • 2013-11-04
    • 2012-01-20
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    相关资源
    最近更新 更多