I still havn't managde to get ajax calls to redirect. I changed to reload as a I saw in this mailing list. In Chromes debugger I can see that the timed out ajax call returns ..
{"script":"window.location.reload();"} ... but nothing happens on the client side. So the question is still open do I have to do something to enable this ? Thanks in advance! 2011/8/24 Magnus Kvalheim <mag...@kvalheim.dk> > 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 > >> > > > > > -- [Hem: 08-715 59 57, Mobil: 070-991 86 42] Allévägen 2A, 132 42 Saltsjö-Boo