o.s.b.w.servlet.support.ErrorPageFilter: перенаправление на страницу ошибки из запроса [0] Primefaces

#spring-boot #jsf #primefaces

#spring-boot #jsf #primefaces

Вопрос:

Я пытаюсь обновить Primefaces 3.5 до 8. После изменения Primefaces я получаю эту ошибку.

 ERROR 24924 --- [nio-8080-exec-3] o.s.b.w.servlet.support.ErrorPageFilter  : Forwarding to error page from request [/t/u/k/kTable.jsf] due to exception [0]

javax.servlet.ServletException: 0
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:616) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.41]
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:111) ~[primefaces-7.0.jar:7.0]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.41]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-websocket.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.41]
    at de.otto.dacapoi.webapp.DacapoiFilter.doFilter(DFilter.java:105) ~[classes/:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.41]
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.41]
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.41]
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
    at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121) ~[spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.41]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[catalina.jar:9.0.41]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[catalina.jar:9.0.41]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[catalina.jar:9.0.41]
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) ~[catalina.jar:9.0.41]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[catalina.jar:9.0.41]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[catalina.jar:9.0.41]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) ~[tomcat-coyote.jar:9.0.41]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-coyote.jar:9.0.41]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) ~[tomcat-coyote.jar:9.0.41]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) ~[tomcat-coyote.jar:9.0.41]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:9.0.41]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.41]
    at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: java.lang.IllegalArgumentException: 0
    at javax.faces.component.UIComponentBase.validateId(UIComponentBase.java:544) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponentBase.setId(UIComponentBase.java:370) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at org.primefaces.model.menu.BaseMenuModel.generateUniqueIds(BaseMenuModel.java:70) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.model.menu.BaseMenuModel.generateUniqueIds(BaseMenuModel.java:58) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.model.menu.DefaultMenuModel.generateUniqueIds(DefaultMenuModel.java:38) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:114) ~[primefaces-7.0.jar:7.0]
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:877) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:87) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:69) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.component.scrollpanel.ScrollPanelRenderer.encodeMarkup(ScrollPanelRenderer.java:62) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.component.scrollpanel.ScrollPanelRenderer.encodeEnd(ScrollPanelRenderer.java:41) ~[primefaces-7.0.jar:7.0]
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:877) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:87) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:69) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:219) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:133) ~[primefaces-7.0.jar:7.0]
    at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:67) ~[primefaces-7.0.jar:7.0]
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:877) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1785) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:847) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:847) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:847) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:847) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1778) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1781) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1781) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:452) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:604) ~[javax.faces-2.1.29-11.jar:2.1.29-11]
    ... 47 common frames omitted
 

Этот код будет выполняться без каких-либо проблем на Primefaces 3.5, но не на Primefaces 7.0 .

Я не знаю, что здесь не так.

Я использую: JSF 2.2 , Primefaces 7.0 , Primefaces-extensions 7.0 , Tomcat 9.0.41 , Spring-boot 2.2.2.RELEASE .

Комментарии:

1. primefaces.github.io/primefaces/10_0_0/#/../migrationguide/4_0 «MenuModel переписана и не совместима со старой версией».

2. Это правда. Спасибо. Я изменил UIMenuItem на DefaultMenuItem, и теперь все идет нормально.