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