No sorry, that's not relevant for this. Eager to help, but I should
have paid more attention to detail :)

On Wed, Aug 24, 2011 at 8:33 AM, Magnus Kvalheim <mag...@kvalheim.dk> wrote:

> I sometimes use a proxy for doing redirects.
>
> *public class RedirectProxy {*
> * @Persist private String redirectURL;*
> * @Inject private ComponentResources _resources;*
> * Object onActivate(){*
> * try {*
> * URL url = new URL(redirectURL);*
> * return url;*
> * } catch (Exception e) {*
> * // TODO: handle exception*
> * } finally{*
> * _resources.discardPersistentFieldChanges(); *
> * }*
> * return Index.class;*
> * }*
> * public void setRedirectURL(String redirectURL) {*
> * this.redirectURL = redirectURL;*
> * }*
> *
> *
> * public String getRedirectURL() {*
> * return redirectURL;*
> * }*
> *}*
>
> Then from an eventhandler:
> *redirectProxy.setRedirectURL(u);*
> *return redirectProxy;*
>
> It could perhaps be useful for this case?
>
> --magnus
>
> On Tue, Aug 23, 2011 at 11:00 PM, Gunnar Eketrapp <
> gunnar.eketr...@gmail.com> wrote:
>
>> Hum .. this did not work so I guess I have to do something on the client
>> side as well ...
>>
>>           if (request.isXHR()) {
>>                OutputStream os =
>> response.getOutputStream("application/json;charset=UTF-8");
>>                os.write(("{\"script\":\"window.location.replace('" +
>> link.toAbsoluteURI() + "');\"}").getBytes());
>>                os.close();
>>            } else {
>>                response.sendRedirect(link);
>>             }
>>
>>
>> 2011/8/23 Kalle Korhonen <kalle.o.korho...@gmail.com>
>>
>> > On Mon, Aug 22, 2011 at 4:42 PM, Howard Lewis Ship <hls...@gmail.com>
>> > wrote:
>> > > Actually, perhaps Tapestry's client-side support should, by default,
>> > > handle 302 correctly.
>> >
>> > Yes, perhaps so. But the correctness is "in the eye of the beholder".
>> > It's clear that a 302 response to a non-ajax request always causes a
>> > redirect, but not necessarily so for an ajax request. If the default
>> > behavior was easily overridable then yes, why not. Perhaps I should
>> > just bring tapestry-exceptionpage functionality to the core.
>> >
>> > Kalle
>> >
>> >
>> > > Currently, Tapestry's JSON response for partial page updates includes
>> > > a special key for performing a redirect.
>> > >
>> > > On Mon, Aug 22, 2011 at 2:20 PM, Kalle Korhonen
>> > > <kalle.o.korho...@gmail.com> wrote:
>> > >> On Mon, Aug 22, 2011 at 1:27 PM, Gunnar Eketrapp
>> > >> <gunnar.eketr...@gmail.com> wrote:
>> > >>> I just rewrote my very old ProtectedPageGateKeeper that implemented
>> > >>> Dispatcher with a new one
>> > >>> inspired by Howard's blog
>> > >>> http://tapestryjava.blogspot.com/search/label/security
>> > >>> The new one implements ComponentRequestFilter and is better suited
>> for
>> > >>> protecting ajax enabled pages.
>> > >>> So I thought ...
>> > >>> Now to my problem:
>> > >>> The redirect that takes place after an ajax call seems to disappear
>> > into
>> > >>> thin air. I.e. the page displaying
>> > >>> a rollling ajax loader is not redirected to my /noacess page. I have
>> to
>> > hit
>> > >>> a full page refresh for the redirect to work.
>> > >>> Is there some trick needed in order to get the redirect to work for
>> an
>> > ajax
>> > >>> call.
>> > >>> Sorry for asking stupid newbie questions ... of course I have missed
>> > >>> something again!
>> > >>
>> > >> I don't think it's a stupid newbie question but obviously you cannot
>> > >> just send 302 uri as a response to an ajax request. If you want a
>> full
>> > >> page refresh, you can handle it similarly how the
>> tynamo-exceptionpage
>> > >> module (http://tynamo.org/tapestry-exceptionpage+guide) handles
>> > >> exceptions in ajax responses
>> > >> (
>> >
>> http://svn.codehaus.org/tynamo/trunk/tapestry-exceptionpage/src/main/java/org/tynamo/exceptionpage/services/ConfigurableRequestExceptionHandler.java
>> > ).
>> > >> Or, take a look at T5.3's new ajax error handler, rendering an iframe
>> > >> on the fly in response to an ajax error.
>> > >>
>> > >> Kalle
>> > >>
>> > >>
>> > >>> 2011-08-22 21:54:53.243 [btpool0-11] DEBUG
>> > u.s.UtskicketModule.RequestLogger
>> > >>> - Request: /group/members.grid.pager/1/grid (Method=POST,
>> > >>> browser=Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101
>> > Firefox/5.0,
>> > >>> isXHR=true)
>> > >>> 2011-08-22 21:54:53.243 [btpool0-11] DEBUG
>> > >>> u.services.ProtectedPageGateKeeper2 - Page path:
>> > >>> /group/members.grid.pager/1/grid
>> > >>>
>> > >>> 2011-08-22 22:01:06.500 [btpool0-10] DEBUG
>> > u.s.UtskicketModule.RequestLogger
>> > >>> - Request: /group/members.grid.pager/7/grid (Method=POST,
>> > >>> browser=Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101
>> > Firefox/5.0,
>> > >>> isXHR=true)
>> > >>> 2011-08-22 22:01:06.500 [btpool0-10] DEBUG
>> > >>> u.services.ProtectedPageGateKeeper2 - Page path:
>> > >>> /group/members.grid.pager/7/grid
>> > >>> 2011-08-22 22:01:06.500 [btpool0-10] DEBUG
>> > u.s.UtskicketModule.RequestLogger
>> > >>> - Request: /noaccess (Method=GET, browser=Mozilla/5.0 (Windows NT
>> 6.1;
>> > >>> rv:5.0) Gecko/20100101 Firefox/5.0, isXHR=false)
>> > >>>
>> > >>> Note: The return from the request above does not show up in the
>> browser
>> > ...
>> > >>>
>> > >>> 2011-08-22 22:01:56.956 [btpool0-10] DEBUG
>> > u.s.UtskicketModule.RequestLogger
>> > >>> - Request: /group/members/3 (Method=GET, browser=Mozilla/5.0
>> (Windows
>> > NT
>> > >>> 6.1; rv:5.0) Gecko/20100101 Firefox/5.0, isXHR=false)
>> > >>> 2011-08-22 22:01:56.960 [btpool0-10] DEBUG
>> > >>> u.services.ProtectedPageGateKeeper2 - Page path: /group/members/3
>> > >>> 2011-08-22 22:01:56.964 [btpool0-10] DEBUG
>> > u.s.UtskicketModule.RequestLogger
>> > >>> - Request: /noaccess (Method=GET, browser=Mozilla/5.0 (Windows NT
>> 6.1;
>> > >>> rv:5.0) Gecko/20100101 Firefox/5.0, isXHR=false)
>> > >>>
>> > >>> Note: Now we get to the /noaccess page
>> > >>>
>> > >>
>> > >> ---------------------------------------------------------------------
>> > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> > >> For additional commands, e-mail: users-h...@tapestry.apache.org
>> > >>
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Howard M. Lewis Ship
>> > >
>> > > Creator of Apache Tapestry
>> > >
>> > > The source for Tapestry training, mentoring and support. Contact me to
>> > > learn how I can get you up and productive in Tapestry fast!
>> > >
>> > > (971) 678-5210
>> > > http://howardlewisship.com
>> > >
>> > > ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> > > For additional commands, e-mail: users-h...@tapestry.apache.org
>> > >
>> > >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> > For additional commands, e-mail: users-h...@tapestry.apache.org
>> >
>> >
>>
>>
>> --
>> [Hem: 08-715 59 57, Mobil: 070-991 86 42]
>> Allévägen 2A, 132 42 Saltsjö-Boo
>>
>
>

Reply via email to