dev@javaserverfaces.java.net

Re: Invoking FacesNavigation from a Filter

From: Lincoln Baxter, III <lincolnbaxter_at_gmail.com>
Date: Tue, 3 Nov 2009 22:55:31 -0500

Actually. I take that back. I think it only works if you have defined
a navigation case to handle that oucome. That's required in JSF1.x,
which is why it works, but JSF2 should be able to avoid that
requirement. Just look for a file that matches the name provided.

Ryan made a good point that there is no current view from which to
decide the FACES_MAPPING, but in that case, simply don't try to
translate the extension, and instead use the string as a literal... it
won't fix your mistakes, but it also won't get in your way.

On Tue, Nov 3, 2009 at 10:51 PM, Lincoln Baxter, III
<lincolnbaxter_at_gmail.com> wrote:
> And yes, it does work with JSF1.x
>
> On Tue, Nov 3, 2009 at 10:51 PM, Lincoln Baxter, III
> <lincolnbaxter_at_gmail.com> wrote:
>> That would work, but then you incur the cost of RESTORE_VIEW phase
>> every time you do a navigation.
>>
>> On Sun, Nov 1, 2009 at 10:45 AM, Manfred Riem <mriem_at_manorrock.org> wrote:
>>> Is there any reason why you can just dispatch using the actual jsp/xhtml
>>> page?
>>>
>>> Manfred
>>>
>>> -----Original Message-----
>>> From: lincolnbaxter_at_gmail.com [mailto:lincolnbaxter_at_gmail.com]
>>> Sent: Saturday, October 31, 2009 10:51 PM
>>> To: dev_at_javaserverfaces.dev.java.net
>>> Subject: Re: Invoking FacesNavigation from a Filter
>>>
>>> 2.0.1
>>> Sent from my Verizon Wireless BlackBerry
>>>
>>> -----Original Message-----
>>> From: "Manfred Riem" <mriem_at_manorrock.org>
>>> Date: Sat, 31 Oct 2009 20:34:29
>>> To: <dev_at_javaserverfaces.dev.java.net>
>>> Subject:  RE: Invoking FacesNavigation from a Filter
>>> Which version of JSF are you trying it on?
>>>
>>> Manfred
>>>
>>> -----Original Message-----
>>> From: Lincoln Baxter, III [mailto:lincolnbaxter_at_gmail.com]
>>> Sent: Saturday, October 31, 2009 3:39 PM
>>> To: dev_at_javaserverfaces.dev.java.net
>>> Subject: Re: Invoking FacesNavigation from a Filter
>>>
>>> Yeah, setViewRoot(), that doesn't do it :( I'm not sure why.
>>>
>>> On Sat, Oct 31, 2009 at 5:37 PM, Kito Mann <kito.mann_at_virtua.com> wrote:
>>>> Hello Lincoln,
>>>>
>>>> I don't think the viewId is set on the FacesContext until after
>>>> RESTORE_VIEW. It might work if you just manually call
>>>> facesContext.setViewId("/mypage.jsp").
>>>> ---
>>>> Kito D. Mann | twitter: kito99 | Author, JSF in Action
>>>> Virtua, Inc. | http://www.virtua.com | JSF/Java EE training and consulting
>>>> http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info |
>>> twitter:
>>>> jsfcentral
>>>> +1 203-404-4848 x3
>>>>
>>>> JSF Summit Conference Dec 1st-4th in Orlando: http://www.jsfsummit.com
>>>>
>>>>
>>>>
>>>> On Sat, Oct 31, 2009 at 5:06 PM, Lincoln Baxter, III
>>>> <lincolnbaxter_at_gmail.com> wrote:
>>>>>
>>>>> It's the same problem with a PhaseListener. If I am attempting to
>>>>> invoke navigation before RESTORE_VIEW phase, NavigationHandler cannot
>>>>> find the outcome:
>>>>>
>>>>> "Unable to find matching navigation case from view ID '' for outcome
>>>>> '/faces/validation/target.jsf' "
>>>>>
>>>>> If I invoke navigation *after* RESTORE_VIEW phase, it resolves
>>>>> successfully.
>>>>>
>>>>> Perhaps this is just a bug? I feel like I should be able to invoke
>>>>> navigation, if not in a filter, at least in a PhaseListener before
>>>>> RESTORE_VIEW.
>>>>>
>>>>>
>>>>> --Lincoln
>>>>>
>>>>> On Sat, Oct 31, 2009 at 4:11 PM, Manfred Riem <mriem_at_manorrock.org>
>>> wrote:
>>>>> > Why would you want to use a Filter. Have you considered using
>>>>> > a PhaseListener instead?
>>>>> >
>>>>> > Manfred
>>>>> >
>>>>> > -----Original Message-----
>>>>> > From: Lincoln Baxter, III [mailto:lincolnbaxter_at_gmail.com]
>>>>> > Sent: Saturday, October 31, 2009 1:12 PM
>>>>> > To: dev_at_javaserverfaces.dev.java.net
>>>>> > Subject: Invoking FacesNavigation from a Filter
>>>>> >
>>>>> > Hi,
>>>>> >
>>>>> > I'm trying to invoke default FacesNavigation from a filter (Where I've
>>>>> > already instantiated a FacesContext,) but I can't seem to get it to
>>>>> > work unless the outcome was defined in a navigation case in
>>>>> > faces-config.xml.
>>>>> >
>>>>> > When the navigation case is a direct navigation (/faces/demo.jsf) or a
>>>>> > relative navigation string (eg: demo.jsf), no navigation occurs.
>>>>> >
>>>>> > I'm assuming this has to do with the fact that the view was not
>>>>> > restored and set into the context, but doing that manually with a
>>>>> > viewId of "" to prevent NullPointerException doesn't work either.
>>>>> >
>>>>> > Thoughts? How can I properly build the facesContext object model to
>>>>> > support navigation in a filter?
>>>>> >
>>>>> > Thanks,
>>>>> > Lincoln
>>>>> >
>>>>> > ---------------------------------------------------------------------
>>>>> > To unsubscribe, e-mail: dev-unsubscribe_at_javaserverfaces.dev.java.net
>>>>> > For additional commands, e-mail: dev-help_at_javaserverfaces.dev.java.net
>>>>> >
>>>>> >
>>>>> >
>>>>> > ---------------------------------------------------------------------
>>>>> > To unsubscribe, e-mail: dev-unsubscribe_at_javaserverfaces.dev.java.net
>>>>> > For additional commands, e-mail: dev-help_at_javaserverfaces.dev.java.net
>>>>> >
>>>>> >
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_javaserverfaces.dev.java.net
>>>>> For additional commands, e-mail: dev-help_at_javaserverfaces.dev.java.net
>>>>>
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_javaserverfaces.dev.java.net
>>> For additional commands, e-mail: dev-help_at_javaserverfaces.dev.java.net
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_javaserverfaces.dev.java.net
>>> For additional commands, e-mail: dev-help_at_javaserverfaces.dev.java.net
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_javaserverfaces.dev.java.net
>>> For additional commands, e-mail: dev-help_at_javaserverfaces.dev.java.net
>>>
>>>
>>
>