The problem is that tapestry waits for the complete page to render server-side before starting sending the response...
This is because it needs to gather all those js fragments that the components of a page might contribute. The only way to disable this (that I know of) is to use neither @Shell nor @Body in that page Jesse Kuhnert wrote: > There are a lot of different ways to handle this. > > A very quick and dirty way I've done it is by adding a dojo dialog > widget init block to my border and providing a global javascript > function call like "yourappname.showProgress()" that I can easily add > in to any potentially slow running form submissions via onClick or > similar. This has worked out just fine for server submissions that > take a long time to complete. > > For a more general "page loading" where you expect the page to take a > long time loading period the solution becomes slightly more delicate. > You probably want this loading indicator to be visible ASAP so I'd > probably just write a very tiny fragment of javacscript in <head> that > made some sort of decorated "loading" div block visible ~until~ > dojo.addOnLoad() fires off. (or whatever mechanism you want to use to > know that a particular portion of the document loading process in your > browser is finished) > > On 12/6/06, Sam Gendler <[EMAIL PROTECTED]> wrote: >> Does anyone have a mechanism for displaying some kind of please wait >> mechanism while waiting for a slow loading page to be rendered? I can >> think of a couple of potential solutions: >> >> 1. Submit form, have listener send to a please wait page which does >> nothing but send another request which will actually load the page in >> question. The problems with this include pages that require lots of >> data in the form submission. I'd have to stick it in the session or >> throw it in a hidden form. If it is a lot of data, it could be quite >> slow. No control over when the browser stops displaying the message - >> usually first byte in. If there is network latency, that could still >> leave several seconds without the message in view. >> >> 2. If Tapestry supports it, I can render the header of the page, >> including a div that says please wait, then flush to the browser >> before initializing the model. At the end of the page, render some js >> that will hide the div. Only problem here is flushing before the page >> is completely rendered. Is this possible in Tapestry? >> >> Note: I cannot use an ajax update of the entire page and use the >> effects available in an AjaxForm to render the message. At least, I >> don't think I can. I haven't done an analysis of the pages in >> question, but I'd really prefer top have my solution work on any page, >> rather than just on ajax-y ones. It would, however, be nice to have a >> solution which looks the same whether dong an ajax update (using >> preEffect and effect) and when doing a full page reload after a normal >> POST. >> >> Thanks >> >> --sam >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]