There are a few ways around this... one is to clear the list on your own when the page is visited in the normal way - in pageBeginRender...
Another is to create and use a new PersistenceStrategy.. if you search the wiki (or google for "PersistenceStrategy tapestry wiki") you'll find some implementations, i.e. http://wiki.apache.org/tapestry/SessionPagePersistence (but that's currently inaccessible for me) On Thu, Oct 1, 2009 at 6:13 PM, seshu babu <seshum...@gmail.com> wrote: > Thanks ! Andreas > > It works after I moved setUsers() in renderComponent to @InitialValue > annotation like this > �...@persist > �...@initialvalue("Collections.EMPTY_LIST" > but table contents are getting displayed even without pressing search > button for the second time when I came back to the this page which has got > this table. > So Basically the data persistence should be lost once I move out of the page > which has the table component. For that I changed @Persist to > @Persist("page") but it doesn't look like page scope is present. I am > getting this error > > [ +/- ] Exception: Exception invoking listener method search of component > phone/AddPhoneUser/searchForm: Error at Annotation > @org.apache.tapestry.annotations.Persist(value=page) of public abstract > java.util.List org.sipfoundry.sipxconfig.site.user.UserSearch.getUsers(): > Unknown property persistence strategy > 'page'.<https://scs2.asiapac.nortel.com:8443/sipxconfig/phone/AddPhoneUser,selectUserForm.sdirect#> > > How to go about this ? > > Thanks, > Seshu > > The > > > > On Thu, Oct 1, 2009 at 7:29 PM, Andreas Andreou <andy...@di.uoa.gr> wrote: > >> why do you need to call setUsers() inside >> renderComponent(IMarkupWriter writer, IRequestCycle cycle) ? >> >> Since the value is now persisted, you won't need to call the setter. >> >> Is the source available online? >> >> On Thu, Oct 1, 2009 at 3:31 PM, seshu babu <seshum...@gmail.com> wrote: >> > Activation context is only present in Tapestry 5 I think. I am using >> > Tapestry 4. >> > >> > So I tried persisting getUsers() method but I am getting this error. Am I >> > missing something? >> > >> ----------------------------------------------------------------------------------------------------------- >> > �...@persist >> > public abstract List getUsers(); >> > >> ----------------------------------------------------------------------------------------------------------- >> > [ +/- ] Exception: Error: Change to persistent property users of >> > phone/AddPhoneUser/searchForm has been ignored. Persistent properties may >> > only be changed prior to the rendering of the response page. >> > org.apache.hivemind.ApplicationRuntimeException >> > Stack Trace: >> > >> > * >> > >> org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39) >> > * org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40) >> > * >> > >> org.apache.tapestry.record.PageRecorderImpl.observeChange(PageRecorderImpl.java:101) >> > * org.apache.tapestry.Tapestry.fireObservedChange(Tapestry.java:677) >> > * $UserSearch_83.setUsers($UserSearch_83.java) >> > * >> > >> org.sipfoundry.sipxconfig.site.user.UserSearch.renderComponent(UserSearch.java:90) >> > * >> > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724) >> > * >> > >> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187) >> > * >> > >> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538) >> > * >> > org.apache.tapestry.form.FormSupportImpl.render(FormSupportImpl.java:503) >> > * org.apache.tapestry.form.Form.renderComponent(Form.java:217) >> > >> ----------------------------------------------------------------------------------------------------- >> > >> > Thanks, >> > Seshu >> > >> > On Wed, Sep 30, 2009 at 8:43 PM, Norman Franke <nor...@myasd.com> wrote: >> > >> >> I've had that happen. Query parameters either weren't @Persist-ed or >> >> otherwise not part of the activation context, so when clicking the sort >> >> links, it forgot what it was querying. Which does bring up an >> interesting >> >> point: allowing a different activation context for tables to keep the >> >> persisted data to a minimum, since there are limits to the amount of >> data >> >> that an activation context can hold due to URL limits. >> >> >> >> Norman Franke >> >> Answering Service for Directors, Inc. >> >> www.myasd.com >> >> >> >> >> >> >> >> >> >> On Sep 30, 2009, at 7:00 AM, Andreas Andreou wrote: >> >> >> >> You understand correctly that the rows are fetched from getUsers >> >>> method for the first >> >>> time - BUT when clicking on the columns it will NOT sort the rows based >> on >> >>> earlier fetched rows... >> >>> >> >>> It needs to call getUsers again (and then do the sorting) - is there >> >>> any logic in that >> >>> method that makes it return empty list? Perhaps you need to persist >> >>> something in >> >>> the session to make the subsequent getUsers() calls work correctly. >> >>> >> >>> On Wed, Sep 30, 2009 at 9:14 AM, seshu babu <seshum...@gmail.com> >> wrote: >> >>> >> >>>> Hi, >> >>>> >> >>>> I am newly learning tapestry. >> >>>> >> >>>> The Rendered rows vanish if I click on the columns (for sorting of >> >>>> rows).here is the .page file >> >>>> >> >>>> >> -------------------------------------------------------------------------------------------------------------- >> >>>> >> >>>> - P R O P E R T I E S >> >>>> --> >> >>>> <property name="selections" /> >> >>>> <property name="currentUser" /> >> >>>> <inject property="coreContext" object="spring:coreContext"/> >> >>>> <!-- >> >>>> - C O M P O N E N T S >> >>>> --> >> >>>> <component id="userTable" type="common/Table"> >> >>>> <binding name="source" value="users"/> >> >>>> <binding name="columns" value="literal:* >> >>>> userName,lastName,firstName,aliases:aliasesString"/> >> >>>> <binding name="initialSortColumn" value="literal:lastName"/> >> >>>> <binding name="row" value="currentUser"/> >> >>>> <binding name="selections" value="selections"/> >> >>>> </component> >> >>>> >> >>>> >> -------------------------------------------------------------------------------------------------------------- >> >>>> >> >>>> I understand that the rows are fetched from getUsers method for the >> first >> >>>> time & further clicking on the columns it will sort the rows based on >> >>>> earlier fetched rows. >> >>>> What's causing these rows to get lost once feteched into table? >> >>>> >> >>>> I use tapesty 4.1. In the above page common/Table is custom table >> >>>> component >> >>>> of type contrib:TableView. >> >>>> >> >>>> Thanks for your help, >> >>>> Seshu >> >>>> >> >>>> >> >>> >> >>> >> >>> -- >> >>> Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr >> >>> Tapestry / Tacos developer >> >>> Open Source / JEE Consulting >> >>> >> >>> --------------------------------------------------------------------- >> >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> >>> For additional commands, e-mail: users-h...@tapestry.apache.org >> >>> >> >>> >> >> >> > >> > >> > -- >> > Regards, >> > Seshu >> > >> >> >> >> -- >> Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr >> Tapestry / Tacos developer >> Open Source / JEE Consulting >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > > -- > Regards, > Seshu > -- Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr Tapestry / Tacos developer Open Source / JEE Consulting --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org