Jsf错误:java.lang.ClassCastException

Rad*_*adi 4 java jsf openfaces

我在glassfish 3.0.1上使用jsf 2.0来构建我的搜索引擎的接口,当我在我的jsf页面上使用Openfaces组件时,每当我提交表单时,我都会收到以下错误消息:

java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为com.sun.faces.application.view.StateHolderSaver

我没有在网上找到任何帮助,请问有什么问题?以及如何摆脱它?

谢谢.

Bal*_*usC 9

这被称为JSF问题1427.在JSF POST导航案例打开的页面上触发ajax请求时,部分状态保存可能会失败.建议的顺序有三种解决方案:

  1. 不要使用POST进行页面到页面的导航.因此,更换<h:commandLink><h:link><h:outputLink>.又见h:outputLinkVSh:commandLink.

  2. 实现POST-Redirect-GET模式.所以,如果你还在使用老式<navigation-case>faces-config.xml,然后添加<redirect/>条目.或者,如果您使用隐式导航结果,则将?faces-redirect=true查询字符串添加到结果中.

  3. 配置有问题的页面以使用完全状态保存.

    <context-param>
        <param-name>javax.faces.FULL_STATE_SAVING_VIEW_IDS</param-name>
        <param-value>/pagename.xhtml</param-value>
    </context-param>
    
    Run Code Online (Sandbox Code Playgroud)

    (可以使用逗号作为分隔符来定义多个页面)