Oh, your code is from a component! Sorry, didnt't get this first.
Try implementing PageRenderListener and implement pageBeginRender( PageEvent
event ).
that works for me.

> -----Original Message-----
> From: Jacob von Eyben [mailto:[EMAIL PROTECTED]
> Sent: Thursday, January 12, 2006 1:47 PM
> To: Tapestry users
> Subject: Re: Howto initializing a persisted property - only once
> 
> 
> Hi,
> 
> I was wrong when I told that I got the exception everytime. 
> Actually the 
> solution about implementing prepareForRender works on the 
> first page I 
> render that has my component, but the second page that uses the exact 
> same component throws the exception about the page was committed().
> 
> I think I have narrowed my problem down to the fact that the same 
> component is used in more than one page. It has the side effect that 
> they are in the same namespace (pagename.componentname combined gives 
> the name), hence they share some set of pagerecorders or 
> other tapestry 
> related objects.
> 
> That could be the reason why I have the problem.
> 
> Anyone of you ever had a similiar problem? and how did you solve it?
> 
> I think I could wrap the use of the component into another component, 
> but that can't be the way to do this, right?
> 
> Regards
> Jacob von Eyben
> 
> Schulte Marcus wrote:
> 
> >That's funny. I'm doing the exact same thing in my 3.0-Apps 
> and it works
> >very well. The only difference I can see is that I call
> >super.prepareForRender() first. Perhaps you could try this.
> >hth
> >Marcus
> >
> >  
> >
> >>-----Original Message-----
> >>From: Jacob von Eyben [mailto:[EMAIL PROTECTED]
> >>Sent: Thursday, January 12, 2006 12:53 PM
> >>To: [email protected]
> >>Subject: Howto initializing a persisted property - only once
> >>
> >>
> >>Hi,
> >>
> >>I am struggling a bit with initializing a persisted property 
> >>of a component
> >>
> >>I need something like this:
> >><property-specification name="userStoryFilter" 
> >>type="com.nordija.planb.domain.util.UserStoryFilter" 
> >>initial-value="new 
> >>com.nordija.planb.domain.util.UserStoryFilter() " persistent="yes"/>
> >>Except that the effect of initial-value is that it will be 
> >>initialized 
> >>everytime the page the component is contained inside is put 
> back into 
> >>the page pool.
> >>
> >>I need to do a initialize once.
> >>
> >>I have tried manually by writing:
> >>protected void prepareForRender(IRequestCycle cycle) {
> >>  if (getUserStoryFilter() == null) {
> >>    setUserStoryFilter(new UserStoryFilter());
> >>  }
> >>  super.prepareForRender(cycle);
> >>}
> >>
> >>But it generates a runtimeexception:
> >>Page recorder for page MyPage is locked after a commit(), but 
> >>received a 
> >>change to property userStoryFilter of component MyPage/myComponent.
> >>
> >>Do you have any suggestions on how to initialize a 
> persisted property 
> >>the first time the component is rendered on a specific page?
> >>
> >>I'm using Tapestry 3.0.3.
> >>
> >>Regards
> >>Jacob von Eyben
> >>
> >>
> >>------------------------------------------------------------
> ---------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: 
> [EMAIL PROTECTED]
> >>
> >>    
> >>
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: 
> [EMAIL PROTECTED]
> >
> >  
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to