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]

Reply via email to