On Jan 28, 2005, at 12:11 PM, Justis Peters wrote:
It bothers me enough that HTTP forces me to pass everything around as strings and lose the compile-time checking and type-safe variables that I love about Java. Then you encounter Struts, and it wants *everything* to be string based.
Good ol' BeanUtils.copyProperties :)
For comparisons sake - Tapestry deals with true objects. If I want a hidden field in a form to be a FooBar object, no problem. (caveat, HTTP is still going on here, so serializing big objects is not advisable though possible).
It sounds like there is a majority support on this list that Tapestry is an alternative with strong merit.
TheServerSide thinks so:
http://www.theserverside.com/articles/article.tss?l=TSSTapestry
If there are any valid reasons one could point out as to why we shouldn't waste our time on it, I would love to hear them. For now, though, I am going to ask our chief architect to evaluate it for use in the next round of projects.
Tapestry is not without issues. Things that frustrate me with it... Tapestry 3.0 URL's are ugly (/app?service=external&sp=Sstring, for example), when you may really desire something prettier. See the TheServerSide forum discussing the above article for examples I've posted from lucenebook.com that show how I (elegantly, I think) dealt with the URLs using a servlet filter. Another item that bugs me is validation. Don't get me wrong, though, Tapestry has fantastic support under the covers for dealing with validation, including client-side support if you wish to enable it, decorating of labels and fields in a customizable way (append an "*" to a label for required fields, turn a label and field red when invalid), and very dynamically and customizable validators. Frustratingly, the built-in form components don't surface all of this power as nicely as they could.
But if NHL, TheServerSide, Darden Solutions (where I used to work - they build a suite of applications for graduate business schools and Tapestry solutions are deployed at a few of the top 20 business schools right now) and a number of other sites are happy about their time investment in Tapestry I'm confident most others will too. In my travels, like Andy, I cannot recall a single person that was satisfied with Struts and was not looking for something better.
Are there any other frameworks people recommend? I have noticed two or three on freshmeat.net that claim to provide both a SWING application and a web application from the same codebase. We have been intending to evaluate these, as well.
Again, Ruby on Rails deserves a serious look. Watch the quick start video for a "wow" moment.
Erik
_______________________________________________ Juglist mailing list [email protected] http://trijug.org/mailman/listinfo/juglist_trijug.org
