Кнопка p: приводит к ClassCastException - PullRequest
0 голосов
/ 05 апреля 2011

Я использую Primefaces 2.2 вместе с Spring 3.0.5, и пока он работает довольно хорошо, но сегодня я столкнулся со следующей проблемой.Я хотел включить компонент p: button, но когда я это сделал, я получил следующее исключение:

java.lang.ClassCastException: org.primefaces.optimus.navigationhandler.ViewIdBasedNavigationHandler cannot be cast to javax.faces.application.ConfigurableNavigationHandler
    at org.primefaces.component.button.ButtonRenderer.findNavigationCase(ButtonRenderer.java:114)
    at org.primefaces.component.button.ButtonRenderer.buildOnclick(ButtonRenderer.java:90)
    at org.primefaces.component.button.ButtonRenderer.encodeMarkup(ButtonRenderer.java:56)
    at org.primefaces.component.button.ButtonRenderer.encodeEnd(ButtonRenderer.java:38)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
    at ...

ViewIdBasedNavigationHandler сконфигурирован в моем файле face-config.xml, и все другие основные компоненты пока работают,Насколько я вижу, класс ViewIdBasedNavigationHandler является производным от javax.faces.application.NavigationHandler, а не от javax.faces.application.ConfigurableNavigationHandler, поэтому ClassCastException имеет смысл.Но из-за того, что я не могу найти других пользователей, имеющих такую ​​же проблему, я думаю, что я что-то упустил.

Есть идеи?Jens

1 Ответ

0 голосов
/ 05 апреля 2011

Вам не нужен ViewIdBasedNavigationHandler, я предлагаю удалить его или старый проект optimus, если он у вас есть. JSF 2.0 имеет встроенную неявную навигацию на основе идентификатора представления.

...