Adam Brod wrote:
>
> I'm using Weblogic 9.1.
>
> From what I can tell, the problem happens because
> ResponseStateManagerImpl.isPostback(...) thinks that a server-side
> forward to /error.faces is a post-back because the request contains
> the key ResponseStateManager./VIEW_STATE_PARAM./(line 120)
>
> Because this request is detected as a postback,
> RestoreViewPhase.execute() enters a block of code that restores the
> /previous/ view (line 138). This causes FacesServlet to execute the
> previous view before rendering error.faces.
Thanks for narrowing the issue down.
The spec also has a list of request attributes that must be set when
forwarding to an error page, so we
could update RestoreView to take that into account.
I'll tinker with this when time permits. I can send you an updated impl
JAR if you'd like to test it when it's ready.
>
> Thanks a lot for your help. Feel free to shoot me an offline email if
> I can help you reproduce this error or to better explain the problem.
> *
> Adam Brod*/
> Product Development Team/
>
>
>
> From: Ryan Lubke <Ryan.Lubke_at_Sun.COM>
> To: users_at_javaserverfaces.dev.java.net
> Date: 05/17/2007 01:26 PM
> Subject: Re: Proper way to configure error page
>
>
> ------------------------------------------------------------------------
>
>
> Adam Brod wrote:
> >
> > Hi-
> >
> > We want to setup an error that will be shown anytime an exception
> > bubbles up from the backend. Ideally, I would like to use a
> > JSF/Facelets page so that I can have a nice look and feel, reusing our
> > existing templates.
> >
> > Right now, I have configured our web.xml with the standard error page:
> >
> > <error-page>
> > <exception-type>java.lang.Throwable</exception-type>
> > <location>/error/error.faces</location>
> > </error-page>
> >
> > I'm trying to avoid a redirect, but I'm having trouble.
> >
> > When I load error.faces by typing it into the browser, it works fine.
> > When I get an exception during the RENDER phase, the error page works
> > fine. However, when I encounter an exception on any page (say
> > docList.faces) during the INVOKE_APPLICATION phase, I get some odd
> > behavior. Basically, even though the servlet container is forwarding
> > to error.faces, JSF tries to restore view and go through all the
> > phases on docList.faces again before rendering error.faces. So the
> > same exception is thrown during the second execution of
> > INVOKE_APPLICATION and the error page is never displayed.
> Out of curiousity, which container?
>
> Just off the cuff though, I'd agree that it's odd that docList.faces
> goes through restoration after the forward
> to the error page. I'll reproduce locally on GF and see what happens.
> >
> > Do I have to use a redirect? Is there a more standard way to display
> > an error page?
> > *
> > Adam Brod*/
> > Product Development Team/
> > Disclaimer: This electronic mail and any attachments are
> confidential and may be privileged. If you are not the intended
> recipient, please notify the sender immediately by replying to this
> email, and destroy all copies of this email and any attachments. Thank
> you.
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_javaserverfaces.dev.java.net
> For additional commands, e-mail: users-help_at_javaserverfaces.dev.java.net
>
>
> Disclaimer: This electronic mail and any attachments are confidential and may be privileged. If you are not the intended recipient, please notify the sender immediately by replying to this email, and destroy all copies of this email and any attachments. Thank you.
>
>