you can add mixins to your "a" tags that will get id of the link and href generated by tapestry, then you can call server from client like any other resource from your own code. no magic there.
pozdrawiam Paweł Kamiński kami...@gmail.com pkaminski....@gmail.com ______________________ 2010/2/18 Dominik Gätjens <dominik.gaetj...@leomedia.eu> > I'm hoping there will be a nice solution, too. > > But in the meantime is there any documentation about Tapestrys > client-side-behaviour? Because i can't imagine what you mean with: > > "you can hack it whit your own implementation of the page request through > prototype or jquery it is straight forward." > > > -----Original Message----- > From: kamiseq [mailto:kami...@gmail.com] > Sent: Wednesday, February 17, 2010 3:38 PM > To: Tapestry users > Subject: Re: ZoneUpdater and Zone Race-Condition > > ok, good point but you can hack it whit your own implementation of the page > request through prototype or jquery it is straight forward. but I would > like > to hear from someone more experienced in T5 as well. > > pozdrawiam > Paweł Kamiński > > kami...@gmail.com > pkaminski....@gmail.com > ______________________ > > > 2010/2/17 Dominik Gätjens <dominik.gaetj...@leomedia.eu> > > > to abort the ajax call sounds very very good. But i don't know where i > can > > do this in Tapestry because Tapestry does the whole AJAX XMLHttpRequest > > thing > > > > -----Ursprüngliche Nachricht----- > > Von: kamiseq [mailto:kami...@gmail.com] > > Gesendet: Mittwoch, 17. Februar 2010 15:15 > > An: Tapestry users > > Betreff: Re: ZoneUpdater and Zone Race-Condition > > > > maybe instead of timestamp you may try to return json/xml with pattern as > > key and data as value, so you will match key with what you actually are > > looking for. why can't you just abort the request if new char has been > hit > > > > http://javascript.about.com/library/blajax11.htm > > <http://javascript.about.com/library/blajax11.htm> > > > > > http://www.bennadel.com/blog/1002-XMLHttpRequest-Object-Has-An-Abort-Method.htm > > > > < > > > http://www.bennadel.com/blog/1002-XMLHttpRequest-Object-Has-An-Abort-Method.htm > > >jquery > > : > > > > > http://stackoverflow.com/questions/600494/jquery-automatically-abort-ajaxrequests-on-page-unload > > > > < > > > http://stackoverflow.com/questions/600494/jquery-automatically-abort-ajaxrequests-on-page-unload > > >maybe > > you should wait few seconds after last char has been entered to give a > time > > to enter next time before you send request > > > > pozdrawiam > > Paweł Kamiński > > > > kami...@gmail.com > > pkaminski....@gmail.com > > ______________________ > > > > > > On 17 February 2010 14:00, Dominik Gätjens <dominik.gaetj...@leomedia.eu > > >wrote: > > > > > Hello, > > > > > > > > > > > > I'm using the ZoneUpdater mixin from > > > > > > http://tinybits.blogspot.com/2009/05/update-zone-on-any-client-side-event.htmltosendan > event at every keyup event on a textfield. > > > > > > This event triggers a webservice-method to fetch some data into a zone. > > > > > > if u type "ab" the a fires an event and starts to rerender the Zone > with > > > getData("a"). This takes a long time about 30-40 seconds. The second > > event > > > getData("ab") is much faster about 1 second. So what happen ist hat you > > see > > > the result from getData(ab) in the Zone and after a few seconds it > > changes > > > to the result of getData(a). > > > > > > > > > > > > I need any chance to abort the first request or to return the the data > of > > > the second (getData(ab)) request again. > > > > > > > > > > > > I tried to cache the last result with a timestamp in the Session. But > it > > > looks like that @Persist fields are restored at page actiavation and > > don't > > > reflect any changes made in the session. > > > > > > > > > > > > Here ist the important code: > > > > > > > > > > > > <t:form t:zone="ligen" t:id="keyForm"> > > > > > > <t:textfield t:id="key" t:mixins="zoneUpdater" clientEvent="keyup" > > > event="keyup" t:zone="ligen"/> > > > > > > <input type="submit"></input> > > > > > > </t:form> > > > > > > > > > > > > <t:zone t:id="ligen"> > > > > > > <t:loop source="ligen" value="liga"> > > > > > > ${liga.key} > > > > > > </t:loop> > > > > > > </t:zone> > > > > > > > > > > > > @Property > > > > > > private Liga liga; > > > > > > @Property > > > > > > @Persist > > > > > > private String key > > > > > > > > > > > > > > > > > > public Object onKeyup(String value) { > > > > > > key = value; > > > > > > return new MultiZoneUpdate("ligen", ligen.getBody()); > > > > > > } > > > > > > > > > > > > > > > > > > public List<Liga> getLigen() { > > > > > > if(key==null || key.equals("")) return new > ArrayList<Liga>(); > > > > > > List<Liga> list = ligaDAO.getLigenByKey(key); //may need a > > lot > > > of time > > > > > > if(list==null){ > > > > > > list = new ArrayList<Liga>(); > > > > > > } > > > > > > return list; > > > > > > } > > > > > > > > > > > > > > > > > > Dominik > > > > > > > > > > --------------------------------------------------------------------- > > 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 > >