SimpleJSFNavigationHandler无法强制转换为javax.faces.application.ConfigurableNavigationHandler

SimpleJSFNavigationHandler无法强制转换为javax.faces.application.ConfigurableNavigationHandler,jsf,primefaces,jsf-2,navigation,Jsf,Primefaces,Jsf 2,Navigation,我正在用Ultima布局将一个JSF1.2项目迁移到JSF2和PrimeFaces 6。 使用Ultima布局时,我得到以下异常: SimpleJSFNavigationHandler无法强制转换为javax.faces.application.ConfigurableNavigationHandler 如何修复它 下面是SimpleJSFNavigationHandler 您不需要Spring的装饰导航处理程序。您可以使用JSF自己的 在即将发布的JSF2.3中,这甚至可以进一步简化,因为这将

我正在用Ultima布局将一个JSF1.2项目迁移到JSF2和PrimeFaces 6。 使用Ultima布局时,我得到以下异常:

SimpleJSFNavigationHandler无法强制转换为javax.faces.application.ConfigurableNavigationHandler

如何修复它

下面是SimpleJSFNavigationHandler

您不需要Spring的装饰导航处理程序。您可以使用JSF自己的

在即将发布的JSF2.3中,这甚至可以进一步简化,因为这将进一步减少FacesWrapper实现中的样板代码

public class SimpleJSFNavigationHandler extends ConfigurableNavigationHandlerWrapper {

    public SimpleJSFNavigationHandler(ConfigurableNavigationHandler wrapped) {
        super(wrapped);
    }

    @Override
    public void handleNavigation(FacesContext facesContext, String fromAction, String outcome) {
        if (...) {
            // Your original code here.
        } else if (...) {
            // Your original code here.
        } else {
            // Update only the last else part as below.
            getWrapped().handleNavigation(facesContext, fromAction, outcome);
        }
    }

}
public class SimpleJSFNavigationHandler extends ConfigurableNavigationHandlerWrapper {

    private ConfigurableNavigationHandler wrapped;

    public SimpleJSFNavigationHandler(ConfigurableNavigationHandler wrapped) {
        this.wrapped = wrapped;
    }

    @Override
    public void handleNavigation(FacesContext facesContext, String fromAction, String outcome) {
        if (...) {
            // Your original code here.
        } else if (...) {
            // Your original code here.
        } else {
            // Update only the last else part as below.
            getWrapped().handleNavigation(facesContext, fromAction, outcome);
        }
    }

    @Override
    public ConfigurableNavigationHandler getWrapped() {
        return wrapped;
    }

}
public class SimpleJSFNavigationHandler extends ConfigurableNavigationHandlerWrapper {

    public SimpleJSFNavigationHandler(ConfigurableNavigationHandler wrapped) {
        super(wrapped);
    }

    @Override
    public void handleNavigation(FacesContext facesContext, String fromAction, String outcome) {
        if (...) {
            // Your original code here.
        } else if (...) {
            // Your original code here.
        } else {
            // Update only the last else part as below.
            getWrapped().handleNavigation(facesContext, fromAction, outcome);
        }
    }

}