David Geary (何许人也?Core JSF的作者之一)有一篇BLog,建议新项目都最好采用JSF而不是Struts,并且列出了10大理由,分别是:
Components
组件组件,JAVA一直希望有.NET和Delphi的RAD和拖放式开发,虽然现在和那两种还有差距,但毕竟已经是开始了。第3方组件厂商也开始出现萌芽的态势。另外一个值得注意的趋势就是,Apple,这个艺术与技术的完美缔造者,其WebObject,作为Web的组建式框架的祖宗,也准备开放了。而且,按照Apple也转向Intel平台的介绍来看,也许不久的一天,它就可以完美地运行在WinTel架构下了。
Render Kits
支持渲染包可以是一个非常重要的特征,这样可以支持不同的显示技术。移植性很好。针对XML, PDF, VML等等。不需要改动其它的东西。
Renderers
Value Binding Expressions
其实比较特色的是Method Binding,这点在其他EL或者类似的技术上还没有。
Event Model
Extensibility
Managed Beans (Dependency Injection)
只有Spring 才IoC吗?不是的,其实现在IoC无处不在。
POJO Action Methods
JSF is the standard Java-based web app framework
There's only one Struts
Struts是一个产品,而JSF是一个标准。二者层面不一样。有很多优秀的实现会出现的。
甚以为是,故摘录于此。原文见:http://jroller.com/page/dgeary?entry=top_ten_reasons_to_prefer
其实,JSF的学习曲线非常之低,呵呵。