Je tente de naviguer vers une autre page avec redirection en affectant une règle de navigation. La page Web que j'essaie de rediriger fonctionne très bien lorsqu'elle est appelée directement.étrange comportement de redirection jsf
Quand je mets le eDirection à une page jsp qui comprend simplement un message <jsp:forward page="faces/another.xhtml" />
dans, je reçois ce NullPointerException suivant et redirection échoue:
java.lang.NullPointerException
at org.icefaces.util.EnvUtils.isICEfacesView(EnvUtils.java:69)
at org.icefaces.event.BridgeSetup.processEvent(BridgeSetup.java:66)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:102)
at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:1993)
at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:1969)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:299)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:243)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:114)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
03.Eki.2010 02:07:58 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at javax.faces.component.UIViewRoot.getViewMap(UIViewRoot.java:1523)
at javax.faces.component.UIViewRoot.getViewMap(UIViewRoot.java:1487)
at org.icefaces.util.EnvUtils.isICEfacesView(EnvUtils.java:70)
at org.icefaces.context.DOMPartialViewContext.getPartialResponseWriter(DOMPartialViewContext.java:97)
at org.icefaces.context.DOMPartialViewContext.getPartialResponseWriter(DOMPartialViewContext.java:95)
at com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:190)
at com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:119)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
Ensuite, je mets la règle de navigation directement à /faces/another.xhtml
. la redirection est réussie, mais le message d'avertissement suivant s'affiche:
WARNING: JSF1015: Request path '/faces/another.xhtml' begins with one or more occurrences of the FacesServlet prefix path mapping '/faces'.
Selon vous, quelle est la bonne façon de configurer la navigation? Merci beaucoup.
merci pour votre réponse. J'ai également eu une certaine confusion à propos de l'URL qui n'apparaissait pas dans la barre d'adresse. maintenant je suis clair. – artsince
De rien. – BalusC