itVincent Blog - Java Working Fun!

技术引领时代!
posts - 117, comments - 181, trackbacks - 0, articles - 12

JSF技术研究——几个JSF流行名词的解释

Posted on 2006-12-21 10:55 itVincent 阅读(3799) 评论(5)  编辑  收藏 所属分类: JSF

最近的一个大项目过去了,需求的变更真是杀人不偿命啊,大家都辛苦了 N 个加班,终于交了客户。前段时间做的 JSF 研究,终于有时间总结一下了。

JSF 作为一个标准,里面的设计处处都感觉到 SUN 的习惯与痕迹,对于一直从事开发 JSF 或者 Struts 的开发人员来说, JSF 算是看起来会比较顺眼的(我用 Tapestry ,当然看 JSF 也很顺眼)。没做这个 JSF 研究之前,一直都是听到 JSF 的优点: POJO ,组件化,兼容 JSP ,性能也不错,还有国际化支持,页面导航等的特点,重点它是一个标准,头头们比较放心。

首先解答一个初学者的困惑,大家听得比较多的是, JSF1.1 , JSF1.2 , myfaces,oracle ADF,ajax4jsf , facelets, 它们究竟是什么,有什么关系呢?

JSF1.1 、 1.2 都是 JSF 的标准,定义例如接口、规范( JSF 是面向接口编程的),必须通过实现才能被我们所使用,而实现包括有 JSF RI(Reference Implementation) ,还有 myfaces core1.1.4 的实现等。 JSF RI 是 SUN 对 JSF 的实现,相对来说兼容性比较好,也比较稳定(因为 1.1 已经很久没更新过了,已经转向 1.2 去了),而 myfaces 更新比较快,功能也比较多一点,初学的推荐 JSF RI1.1 就可以了, 1.2 需要新的 servlet2.5/jsp2.1 以及服务器支持,现在还不稳定。

myfaces ,它是一个大的项目,下面有几个子项目,分别是 myfaces core, sandbox ,tabago,tomahawk ,(奇怪的名字,好难说,我简称它为 TOM ),还有一个新的 ADF Faces (跟 oracle adf 有关,应该是兼容整合 adf 的功能吧)。 Tabago,tom 都是组件库, tabago 比较好玩的是支持换肤,还有一些支持 ajax 的组件, TOM 则是一个丰富的增强组件库,大概有三十个之多,例如 TREE , TAB 等等。 Sandbox 是测试用的。

Oracle ADF 是 oracle 为 jsf 做的一个大型的组件库,以前是收费的,现在开源了,我没用过,不好说。

Ajax4jsf 是为 jsf 提供 AJAX 支持的一个标签库,使用它提供的标签,就能在原有的 JSF 程序上轻易的加上 AJAX 的功能,而且不用写任何 Javascript 。

Facelets 这个是很激动人心的一个框架,有了这个框架才把 JSF 的组件化发挥出来,通过模板的方式来组合成我们所需要的组件,而且可以不使用 <h:input> 这样的标签库,而用 <input type=”text” jsfc=”h:input”> 这样的方式来使用组件,这样就可以方便的使用 UI 可视化工具去开发我们的 WEB 程序。这个框架我会在以后的文章中详细的说,以及和 jsp2.0 的模板功能作对比。

今天就先写到这里,今后再慢慢介绍上面的几种技术。

 

Feedback

# re: JSF技术研究——几个JSF流行名词的解释  回复  更多评论   

2006-12-21 14:56 by 哈哈的日子
Sandbox 也是组件库,不是测试用的。
ADF Faces 是 Oracle 捐给 Apache 的
Apache Shale 中有个组件 Clay 和 Tapestry 有些像,可以看看,不错的。

# re: JSF技术研究——几个JSF流行名词的解释  回复  更多评论   

2006-12-22 08:52 by itVincent
@哈哈的日子
谢谢指正,sandbox是组件库,但我找不到下载的地方,所以一直没搞清楚
Clay - An alternative to JSP where you define views in pure HTML, in a fashion similar to Tapestry and Facelets. An innovative sub-framework for supporting the configuration of reusable subtrees of JavaServer Faces components for customizable reuse.
不错,有时间看看这个

# re: JSF技术研究——几个JSF流行名词的解释  回复  更多评论   

2006-12-29 12:57 by 杭州青鸟
好贴

# re: JSF技术研究——几个JSF流行名词的解释[未登录]  回复  更多评论   

2007-08-28 21:10 by James
有没有Facelets 如何使用的文档,给共享一份

# re: JSF技术研究——几个JSF流行名词的解释  回复  更多评论   

2007-08-29 09:20 by itVincent
可以看看这个http://www.ibm.com/developerworks/cn/java/j-facelets/index.html