是的,我内心很喜欢Tapestry。我喜欢他的开发风格,这和我的工作范围是有关的。
在我参加工作之前,我一直用ASP.NET(工作后转J2EE开发),工作的第一家公司用的是私有的MVC框架,有类似的实现,同时提供了类似Spring Web Flow的东东。

因为一直做企业应用,一个很大的感受是:
企业应用是有一个严格的流程的
一个工作任务的Transaction是有一个严格的流程:一步一步按流程往前走,每一步都有严格的校验,对于客户或者User的误操作都会给出明确的提示,只有客户的操作是正确的,才可以进行下一步流程。

这和面向公众的应用是不同:
这里没有一个自由跳转的概念的,出了错给个简单提示,让客户自己后退。(不过现在也开始强调客户体验,使用ajax来控制了)

这个时候,一个Page其实就是一个小型的Application应用。Tapestry和ASP.net从这点看很相似。
国内的开发者也越来越多的认识到这一点,Michael Chen就在buffalo项目中提出One Page, One Application

从这点上看Struts也许并适合,但现在Tapestry升级为Apache的一级项目,就有明显的比较选择了:Strust面向普通Web应用,Tapestry面向企业Web应用(Apache foundation也许也是这么考虑的吧

BTW:一些观点也许并不正确或者不严格,因为这样不得不写更多的东东。既然是blog,我可以选择写的简单些。