Thanks for the suggestions. I have made my decision and Tapestry wins.
My reasons for anyone interested:
1. ROR is something i thot about .. but my web app needs to take
advantage of a lot of existing libraries which are hard to come by in
ROR. So, inspite of the fact that ROR might be technically superior, i
think lack of the entire gamut of libraries that java support is a big
hindrance. (and probably why ROR is more suited to the popular web 2.0
kinda stuff which typciall develop everything from scratch..as most of
it is just js)
2. The only thing holding me back on tapestry was the lack of nice urls
... which i found out was done in version 4...so good on that front.
3. Another good thing about tapestry is that it enables edition of html
pages in wysiwig mode, unlike struts.