技术开发 频道

JSF伴随Java EE 5从幕后走上前台



    【IT168 专稿】三年前JSF就已经在Sun的实验室里诞生,但直到今天才伴随Java EE 5,作为规范的一部分,从幕后走上前台。JSF是第一个以用户界面为核心的Java Web框架,与其他Java Web框架以“页面”为控制粒度不同的是,JSF的控制粒度已经细化到页面上的“组件”,这是JSF简化Java Web开发的关键点之一。虽然已经正式成为Java EE规范的一部分,并且获得越来越多程序员的青睐,但JSF的前途依然不容乐观。

1. 带着“用户界面”的烙印,JSF从幕后走上前台

    伴随着从J2EE 1.4向Java EE 5的升级,JSF作为Java企业应用规范的一部分,登上了Java Web编程的舞台。雪藏了将近3年时间,经过Sun专家组的一次次修订,经过JSF支持者的一轮轮测试,经过Java Web开发社区的一波波辩论,JSF终于从Sun的实验室走出,首次以规范的名义,出现在程序员的眼前。没有鲜花、没有掌声,Sun只是简单地将JSF推上前台,如同它的很多前辈那样,Sun给予它生命,而此后漫长的成长之路,则完全要靠它自己去走。

    刚刚踏上Java Web热土的JSF,且顾且行,前方道路上的每一处拐角,似乎都隐藏着无数的未知。前途坎坷,除了Sun那鼓励中略带担忧的目光,JSF再也没有什么可以依靠的了。正所谓生死有命,富贵在天,在危机四伏的Java Web世界里,JSF的未来,谁也无法预测。

     JSF的全称是JavaServer Faces,这是Sun的专家组赋予JSF的名称。JavaServer这个单词大家应该耳熟能详了,JSP中的“JS”也是JavaServer的缩写,不过与JSP中的“P”所代表的“Pages”不同的是,JSF中的“F”是个称为“Faces”的新术语。虽然Sun没有对Faces的具体含义作出官方的解释,但是,其隐含的意义非常明显,那就是“界面”。事实上,在Sun的JSF规范中,专家组正是将JSF定义为“Java Web应用的用户界面框架”。这个定义虽然寥寥数语,十分简洁,但突出了JSF的“用户界面”特征,为JSF烙下了“用户界面”的烙印。

    Java Web的程序员期待一个用户界面框架已经很久了。虽然Java Web的框架五花八门,多不胜数,但真正以“用户界面”为核心和立足点的,JSF是第一个。多数Java Web框架,不约而同地将“页面”作为用户界面的最小元素加以控制,而JSF将用户界面的最小元素聚焦到了页面上的“组件”。

    相对于前者以页面为控制粒度的粗放模式,JSF以“组件”为控制粒度的细致模式,无疑给普通Java Web程序员带来了更大的想象空间。更为重要的是,JSF细化了控制粒度,却并没有以加大Java Web编程的复杂度为代价,相反,作为Java EE 5“简化Java开发”使命的担负者之一,JSF在Java Web编程上极大地减轻了普通程序员的负担。这点我们将在后文中,通过一个具体的实例加以论证。
0
相关文章