I would say this is more of style preference than anything else. It can be
made to work in many ways. 

My personal style is to use the URL for state and not the session. Generally
I only use the session to store a non changing user object. If you start
there it dictates many of the decisions that follow. I believe this makes
the site more scalable, bookmarkable and reliable (testable).

As far as code reuse at first I had some of the same feelings. Create/Edit
seem like the same and the only real difference is the onSuccess() method.
However Tapestry/Hibernate/Beaneditform is so efficient at this task the
only code is in the onSuccess() method. In fact if you look at my example
the only code (1 line) that does anything is in the onSuccess() method of
the create page so trying to combine the two just makes for more code not
less. I'm pretty amazed you can create/edit any object with a few lines of
declarations and 1 line of code.

As far as search pages go I always use @ActivationRequestParameter to get
the search criteria in the URL. If you want a QBE type function I'd build a
url and call the search page.

I'm sure others have their own styles. Mine is state goes in the URL and
Tapestry supports that workflow just about perfectly. I also prefer
declarations instead of code and again Tapestry delivers. 

I've found if I follow this simple set of rules everything just fails into
place.

1. Never use @Persist
2. Never use onActivate with a parameter
3. Use @PageActivationContext
4. Use @ActivationRequestParamter
5. Never use inheritance for code reuse use Plastic or a service.
6. Always use BeanEditForm

I'm not saying this is the only way but these rules keep me out of trouble
and remember rules are made to be broken.

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Pagelink-above-grid-picks-up-context-from-last-pagelink-in-grid-tp5660049p5664614.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