【问题标题】:p:button leads to ClassCastExceptionp:button 导致 ClassCastException
【发布时间】:2011-04-05 07:19:18
【问题描述】:

我将 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 在我的 faces-config.xml 中配置,并且所有其他 primefaces 组件到目前为止都在工作。据我所见, ViewIdBasedNavigationHandler 类是从 javax.faces.application.NavigationHandler 派生的,而不是从 javax.faces.application.ConfigurableNavigationHandler 派生的,因此 ClassCastException 是有道理的。但由于我找不到其他有同样问题的用户,我想我错过了一些东西。

有什么想法吗? 延斯

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    你不需要 ViewIdBasedNavigationHandler,如果你有它,我建议删除它或旧的 optimus 项目。 JSF 2.0 内置了基于视图 id 的隐式导航。

    【讨论】:

    • 好的,我删除了声明和对 optimus 的依赖。现在这样的重定向不再起作用了: 文件存在(editSomething.xhtml)。我仍然认为我缺少一个基本的配置参数。
    猜你喜欢
    • 1970-01-01
    • 2014-12-10
    • 2021-04-29
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多