which version of wicket do you use?
can you reproduce this in a quickstart example?

johan


On 4/30/07, RedFury <[EMAIL PROTECTED]> wrote:


Hi all,  just want to say that I've relatively new to Wicket but am loving
every minute of it!  In just a few weeks of learning and programming I
have
been able to create a robust, javascripted, ajaxified app for our company.
Great work to the devs!

However, I have one problem which I'm a little unsure how to solve, its
not
an inherent problem with Wicket but more a problem with my ajax in wicket.
I will try to go into as much detail as possible.

I have a page with a set of tabs.  Each tab will replace the main body of
the page with different components using ajax. this is all working great.
On top of this, the main page of the app has a global timer (using
AbstractAjaxTimerBehavior) which does any updates required for the current
tab.  So lets say I have component C1 on tab T1 (T1 is a wicket panel
which
I replace when needed.)  The ajax update will call an update() function
which is overloaded for the different tab types. So T1.update() will call
target.addComponent(C1); etc..

The problem I am having is in the timing between the ajax timer request
and
the ajax update request when the user hits a new tab.  I am getting the
following error:

java.lang.NullPointerException
        at

wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerIn
terfaceTarget(DefaultRequestTargetResolverStrategy.java:295)
        at

wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveRenderedPa
ge(DefaultRequestTargetResolverStrategy.java:228)
        at
wicket.request.compound.DefaultRequestTargetResolverStrategy.resolve
(DefaultRe
questTargetResolverStrategy.java:153)
        at
wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve
(Abstract
CompoundRequestCycleProcessor.java:48)
        at wicket.RequestCycle.step(RequestCycle.java:992)
        at wicket.RequestCycle.steps(RequestCycle.java:1084)
        at wicket.RequestCycle.request(RequestCycle.java:454)


So it seems what is happening (this is my guess) is that the ajax requests
for the timer update and the new tab update are being sent almost
simultaneously.  The first request is processed by the server and this
actually changes the comoponents on the page. Then the second request
comes
in and its target behavior no longer exists because the first request
replaced that component (panel) with something different.

So I guess what I'm looking for is ideas on how to solve this problem?
How
does Wicket ajax work client side? Does it organize ajax request-response
cycles one at a time, or can they be sent simultaneously?  Also, is there
a
way I can hoook into the client code and stop the timer update from being
called if we've already got a pending page-change ajax request.

So I've waffled a bit, in short how do I stop the second ajax request from
referencing behavior that the first one just got rid of ?

Thanks,
Red Fury

--
View this message in context:
http://www.nabble.com/Problem-with-concurren-ajax-requests-on-page-tf3667503.html#a10247552
Sent from the Wicket - User mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to