从数据库中抓出数据显示到页面上,然后把页面上修改的东西存到数据库中,就这么简单的应用,被IT人设计成M、V、C三个层次,每个层次中的N个技术,最终形成N的3次方个实现方案。
SUN的JSF姗姗来迟,但是并没有带给它后来居上的优势。简单的感受是,JSF是很烂的一个东西。
比如
用户每次提交都重构view的做法,是个很荒唐的行为。
如果第一次显示某个view,没有常规的方法可以初始化这个页面。(惟一能做的就是在上一个view中,初始化一个session scope对象。)
页面间传递参数困难。(除了session scope还有别的办法吗?)
如果ManagedBean不使用session scope, JSF几乎不能运转。
对于怪异的JSF页面流程和生命周期,我只能猜测:并不是事先精心设计的,而是开发过程中自然形成的。
Spring的很多特性就是这么自然形成的,最后看上去这些特性都很合理。而对于JSF来说,他们努力自圆其说,但是那些特性却显得让人不解。如果SUN是长远考虑,想做出一套独立于HTML的J2EE MVC框架,那么Oracle已经做了一个ADF了。
以前和SUN的合作开发中,他们对struts进行了大量修改,并没有看到有价值的东西。
相比struts, 我感受到JSF的改进仅仅是,struts只能在form上指定action,而JSF可以在form内每个控件上指定action了。
其它都是些小把戏,在实际的开发中,我更倾向于使用一些自定义的东西。