They are not quite interchangeable, but it can be fun figuring out which to use.
In addition to onActivate and setupRender, you should also look at onPrepare for form submissions. I tend to just set id's in onActivate and leave heavier loading for onPrepare/setupRender. Having said that, I think that the tapestry-hibernate integration does primary key encoding to allow the use of entities for onActivate/onPassivate. Jonathan > -----Original Message----- > From: kawes [mailto:rafal.kawe...@gmail.com] > Sent: Monday, December 15, 2008 12:14 > To: users@tapestry.apache.org > Subject: Re: Layout Border component problem > > > Hi Olle, > > I finally got home and was able to check out your suggestion. > Works perfectly but I still have a small question: > > I also used onActivate() to paste your code and it works as well. > So my question is: is it big difference between those methods and can both > be used interchangeably or this was only coincidence > > Thanks again, I can finally continue on my work. > > cheers > > > Olle Hallin wrote: > > > > What happens is that TeacherMode is mutable, and hence leaks state > between > > different users. You are *not* given a fresh instance on each request. > > Instead, instances are pooled and reused. > > > > (Starting with 5.0.17, it is forbidden to have initial values on page > > member variables in order to prevent bugs like this.) > > > > One way to handle this situation is: > > > > *...@persist > > *private TeacherMode teacherMode; > > > > public void *setupRender()* { > > if (teacherMode == null) { > > teacherMode = new TeacherMode(); // This will be a private instance > > per > > session > > } > > } > > > > HTH, > > > > Olle > > > > > > 2008/12/15 kawes <rafal.kawe...@gmail.com> > > > >> > >> Hi Jonathan, > >> > >> thanks for your quick response. > >> As you asked I uploaded classes I hit the problem in. > >> > >> Small description: One of my sub-application is Teacher (should be able > >> to > >> provide a word in foreign language and accept user's answer checks > >> wheather > >> it is correct) > >> > >> When user logs in, clicks teacher link is redirected to AvailabaleSets > >> (which is wrapped by TeacherBorder). > >> > >> T5.zip file uploaded and it contains: > >> - Border.java > >> - Border.tml (pagelinks to all stuff provided by my app) > >> > >> - TeacherBorder.java > >> - TeacherBorder.tml (contains all links to navigate my Teacher > >> sub-application - i.e. TeacherMode - resposnible for 'asking question', > >> registering results etc) > >> > >> - AvailableSets.java > >> - AvailableSets.tml (displays available sets containg words) > >> > >> - TeacherModePage1.java > >> - TeacherModePage1.tml (lets user to choose the word's set and decide > >> about > >> the questioning mode (mingled or the sequence of words had been added > to > >> the > >> set) ) > >> > >> - TeacherModePage2.java > >> - TeacherModePage2.tml (displays questions and lets to type in > answers) > >> > >> TeacherModePage1.java contains the following line: > >> private TeacherMode teacherMode = new TeacherMode(); > >> > >> I belived that when new page would be displayed (whe user clicks > >> TeacherMode > >> in TeacherBorder) a brand new TeacherMode instance would be returned > but > >> is > >> not. And is not because all the classes are already instantiated and T5 > >> gives them back to the user for efficiency. > >> > >> Please keep in mind this is just the beggining of the work, so not > >> everything is like it should be from architectural point of view (i.e. > >> @Persist will be replaced by onPassvate and onActivate). I just wanted > to > >> see how it works. > >> > >> If any more details are reqiured let me know. > >> > >> Thanks in advance http://www.nabble.com/file/p21009484/T5.zip T5.zip > >> -- > >> View this message in context: > >> http://www.nabble.com/Layout-Border-component-problem- > tp21004400p21009484.html > >> Sent from the Tapestry - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> For additional commands, e-mail: users-h...@tapestry.apache.org > >> > >> > > > > > > -- > > Olle Hallin > > Senior Java Developer and Architect > > olle.hal...@crisp.se > > www.crisp.se > > > > > > -- > View this message in context: http://www.nabble.com/Layout-Border- > component-problem-tp21004400p21017812.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > 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