JSF Component 选择:ICEfaces or RichFaces?

本文对比了ICEfaces和RichFaces这两个流行的JSF组件库。ICEfaces是一款基于Ajax的JSF开发框架,提供了完整的JavaEE应用程序开发组件。RichFaces则是JBoss发布的JSF类库,集成了Ajax4JSF项目,简化了与JBoss Seam的集成,并支持script.aculo.us效果。文章还引用了两位技术人员的观点,详细讨论了两者的优势和劣势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ICEfaces 和 RichFaces是目前两款实现的非常不错的JSF Component.  各自提供了丰富的组件,足以满足绝大部分的界面要求。当然也都支持open source. 和IDE的配合使用也很方便。

大家在选择学习之前肯定会对此有个比较。我编辑了网上的一点资料,方便学习。

下面是ICEfaces和RichFaces的简单介绍:

ICEfaces是一个基于Ajax的JSF开发框架。ICEfaces原本是一个商业产品,现已开源基于Mozilla Public License发布。它提供一整套完整的Java EE应用程序开发组件,能够帮助开发人员用纯Java(not JavaScript)快速开发瘦客户端胖互联网应用程序(Rich Internet Applications:RIA)。可通过其提供的一个在线Demo体验一下ICEfaces的强大组件。 (摘自:http://www.open-open.com/open171367.htm)

产品网站:http://www.icefaces.org

JBoss最近发布RichFaces JSF类库的3.1版,作为与Exadel的合作果实,这是首次将Ajax4JSF项目集成进曾以商业发行的RichFaces。主要特征:

产品网站:http://labs.jboss.com/jbossrichfaces

下面是两个国外技术同行关于此问题的解释:

  • 支持RichFaces
benjfayle 2007/08/07: I recently did some thorough comparisons of RichFaces and IceFaces. The two are similar but there are a number of differences. Overall I like IceFaces better but ended up using RichFaces due to a number of serious design issues with IceFaces which were show stoppers for us.

1) RichFaces provides concept of eventsQueue to prevent too many AJAX requests getting sent. IceFaces has no equivalent.

2) RichFaces modal panels can be displayed using Javascript - haven't figured out how to do this easily using IceFaces.

One major drawbacks of the RichFaces library is the lack of a pop-up date calendar component for date input.
  • 支持ICEfaces
SteveMaryka 2007/08/:There are 2 aspects to consider when choosing between ICEfaces and A4J/RichFaces. There is the component suite, and the underlying framework. In both cases you can expect the component suites to evolve and the numbers and sophistication of components to increase.

I think the major differences come in the framework. The major advantages to the ICEfaces framework over A4J are:

1) Page-level Ajax: With ICEfaces the framework figures out how to make the page updates. With A4J the developer needs to wire together the part of the page that might effect each other. This can be a tedious exercise and impacts the separation of roles between the developer and designer. With ICEfaces the page update mechanism is completely transparent to the developer and the designer. They can focus on application features.

2) Ajax Push - The ability to push presentation changes to the client in an asynchronous fashion is a fundamental capability of the ICEfaces framework and always has been. Most other frameworks are playing catchup in this regard. A4J does not support Ajax Push as of yet.
 
看来各有各优点,希望各位有使用过的朋友发表您的实战经验!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值