Only properties marked persistent are persisted between requests. 
Other properties are transients.

     @Persist
     public abstract String getArticleTitle();
    public abstract void setArticleTitle(String title);

    @Persist
    public abstract String getArticleBody();
    public abstract void setArticleBody(String bodyText);


Alternately, your .page file can say:

  <property name="articleTitle" persist="session"/>
  <property name="articleBody" persist="session"/>



On 8/8/05, Paul `Order in Chaos` Cantrell <[EMAIL PROTECTED]> wrote:
> An addendum to my earlier note, to file under "curiouser and curiouser":
> 
> If I implement PageDetachListener, everything works as expected --
> even if my pageDetached() does nothing!
> 
> public abstract class MyPage
>      extends BasePage
>      implements PageDetachListener
>      {
>      // empty method is fix for bug in Tapestry 4.0b3
>      public void pageDetached(PageEvent event) { }
>      ...
>      }
> 
> Wacky.
> 
> 
> On Aug 8, 2005, at 12:17 PM, Paul Cantrell wrote:
> 
> > I thought, what with the nifty annotations, that it should be
> > possible to eliminate .page files entirely in most if not all
> > cases, thus eliminating a major source of file clutter. Yay!
> >
> > So I tried it, and found that my page properties were suddenly not
> > getting restored to their pristine state. Boo! For example, I have
> > this page with two transient properties...
> >
> > public abstract class ArticleView
> >     extends BasePage
> >     implements PageAttachListener
> >     {
> >     public void pageAttached(PageEvent event)
> >         {
> >         System.out.println("--------------------> title = " +
> > getArticleTitle());
> >         System.out.println("--------------------> body = " +
> > getArticleBody());
> >         }
> >
> >     public void init(Article article)
> >         {
> >         setArticleTitle(article.getCurrentVersion().getTitle());
> >         setArticleBody(article.getCurrentVersion().getBody());
> >         }
> >
> >     public abstract String getArticleTitle();
> >     protected abstract void setArticleTitle(String title);
> >
> >     public abstract String getArticleBody();
> >     protected abstract void setArticleBody(String bodyText);
> >     }
> >
> > If I follow a @PageLink to ArticleView, I see title=null, body=null
> > -- the correct pristine state. I then populate the page in a
> > listener on another page that calls init(), and see the article
> > displayed correctly.
> >
> > But if I then go back to the original @PageLink, the previously
> > displayed values, which should have been cleared to null, are still
> > there hanging around -- even in pageAttached()! The page object is
> > never returned to its pristine state.
> >
> > If I create a .page file, then everything starts working as
> > expected -- my transient properties are correctly cleared for each
> > request:
> >
> >     <page-specification class="net.innig.imre.web.ArticleView">
> >       <property name="articleTitle" />
> >       <property name="articleBody" />
> >     </page-specification>
> >
> > But here's were it gets really weird. If I only specify *one* of
> > the two properties, like this:
> >
> >     <page-specification class="net.innig.imre.web.ArticleView">
> >       <property name="articleTitle" />
> >     </page-specification>
> >
> > ...then *both* properties get cleared. It looks like there's some
> > "reset page" hook that doesn't get called unless there is a .page
> > spec with at least one property in it.
> >
> > This smells like a bug to me. Am I missing something here (see
> > sig)? I really shouldn't need any .page at all, and the app should
> > still behave correctly. At the very least, the presence of a spec
> > for one property shouldn't change the behavior of all the others.
> >
> > I am using 4.0 beta 3.
> >
> > Cheers,
> >
> > Paul
> >
> > _________________________________________________________________
> >
> > "After hearing ten thousand explanations, a fool is no wiser.
> >  But an intelligent person needs only two thousand five hundred."
> >                                                    -- Mahabharata
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> 
> _________________________________________________________________
> 
> "Prediction is hard, especially of the future."  -- Niels Bohr
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

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

Reply via email to