Ok found an answer to my second question, 
some info is provided here:
http://tapestry.apache.org/tapestry5/tapestry-core/guide/rendering.html

but still would be happy if you could answer to my first question.

cheers


kawes wrote:
> 
> Olle, 
> 
> thanks a lot. I knew what was wrong but had no idea how to deal with that.
> I am gonna check it out at home 'cause now I am at work.
> 
> But I have some questions to the resolve you suggetsed:
>  -  Starting with 5.0.17,  it is forbidden to have initial values on page
> - what does it mean it is forbidden? I did not notice any repoerts during
> runtime and no during compilantion neither.
> 
>  - what is setupRender() method? it will be called automatically ?
> 
> thanks again
> 
> 
> 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-tp21004400p21010909.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

Reply via email to