Ошибка JSF: java.lang.ClassCastException - PullRequest
       32

Ошибка JSF: java.lang.ClassCastException

4 голосов
/ 17 апреля 2011

Я использую jsf 2.0 на glassfish 3.0.1 для создания интерфейса для своей поисковой системы, когда я использовал компоненты Openfaces на своей странице jsf и всякий раз, когда я отправляю форму, я получаю это сообщение об ошибке:

java.lang.ClassCastException: [Ljava.lang.Object;не может быть приведен к com.sun.faces.application.view.StateHolderSaver

Я не нашел никакой помощи в Интернете, пожалуйста, в чем проблема?и как от этого избавиться?

спасибо.

Ответы [ 2 ]

9 голосов
/ 17 апреля 2011

Это известно как JSF выпуск 1427 .Сохранение частичного состояния может завершиться неудачно, когда ajax-запросы запускаются на странице, которая была открыта в случае навигации JSF POST.Существует три решения в рекомендованном порядке:

  1. Не использовать POST для постраничной навигации.Поэтому замените <h:commandLink> на <h:link> или <h:outputLink>.См. Также h:outputLink против h: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>
    

    (можно указать несколько страниц, используя запятую в качестве разделителя)

1 голос
/ 13 июля 2012

Загрузите новую версию фреймворка JSF.

См. Версию 2.1.11!

Это проблемы, вызванные ошибкой в ​​запросе состояния ajax во внутренней структуре jsf!

Для получения дополнительной информации см. Ссылку http://java.net/jira/browse/JAVASERVERFACES-1845;

...