最不喜欢JSF. 标签和UI组件混用是其致命的缺陷.用IDE拖拉产生的代码是debug和维护的恶梦.从项目管理的角度来看,要做到view层代码的规范化是很难的.
Tapestry4.0做了几个系统,感觉其完全贯彻的OO的思想.但其封装得太彻底的,对于新手的开发人员的学习成本很大(特别是没有人指导的情况).比较不好的一点就是Tapestry4.0开发只有一个人,没有大厂商的支持.另外 Tapestry4.0到Tapestry5.0的变化太大了.虽然Tapestry5.0架构更加的优秀.可是由于不兼容,导致了出现断层的现象,刚好这个时候又是web框架争夺市场最激烈的时候.所以对它能否得到广泛的推广还值得验证.
struts1.x一直都在用,做中小项目居多.虽然很多人说落后什么.可是往往只是从理论上说而已.我们都知道宝马汽车当然比捷达好.但是如果你拥有一个出租车公司有N多辆捷达,公司在不同地方都有捷达的维修点.这个时候如果要全部换成宝马似乎不现实.即使新买宝马也值得慎重考虑,要考虑秏油问题,考虑司机驾驶问题,考虑维修成本问题.
struts2.x还在观望中,不了解,所以也不好评论.
现在对spring MVC开始有点兴趣,如果结合FreeMaker,Velocity也是个很好的选择.