无忧技术网 - RSS订阅 
无忧技术网

JSF 2006年大事记上篇(2)


作者:麻地河 - 发布:2010-4-22 17:35:38 - 来源:无忧技术网
 

 

4. Exadel实现JSF对Ajax的支持

Exadel是一家软件开发、服务和技术支持公司,主要业务是为企业应用提供解决方案。这家公司很幸运地抓住了JSF的时机,开发支持可视化编程的JSF工具,这两年知名度得以迅速提升。Exadel的产品线中,有一款称为Exadel Studio Pro的Web应用开发工具集,支持JSF、Struts、Hibernate和Spring等许多框架。

2006年元月的最后一天,Exadel发布了Exdel Studio Pro的新版本,3.5版,这个版本最吸引人的特征是,它支持Ajax。Ajax(Asynchronous JavaScript And XML)是一项用于开发交互式Web应用的Web开发技术,正在受到全球开发社区的关注。Ajax应用依赖JavaScript,不可避免地要在客户端运行复杂的JavaScript代码,因此,开发人员需要一个框架,协助他们高效地编写支持Ajax的Web应用。

Excadel认为,Ajax功能丰富,但工具一直是Ajax应用的最大障碍,一旦工具的障碍被突破,Ajax将很快得到大面积的普及,并且发挥其作为富互联网应用技术的全部潜力,所以,支持Ajax的开发工具越多,越有利于Ajax的发展。利用Exadel Studio Pro 3.5对Ajax的支持,开发团队可以在一个全集成的开发环境中编写Ajax应用,从而提高开发人员的效率,增加产品的可靠性,加快整个应用开发周期。

Exadel是基于Eclipse的企业级Web应用开发环境,充分利用了开源、J2EE和Ajax技术带来的好处。Exadel提供可视化和面向代码的两种编程手段,支持包括JSF、Struts、Hibernate、MyFaces、Oracle ADF、Shale、Spring 等在内的多种开源技术,允许程序员在一个单独的集成开发环境中,同时与多个框架协同工作。

Exadel Studio Pro 3.5对Ajax的支持体现在几个方面。Exadel Studio Pro 3.5有一个可视化的页面编辑器,编辑器带有一个组件面板,开发人员可以通过面板选取Ajax组件。当开发人员在组件面板上拖放一个Ajax组件到页面上时,编辑器会自动启动一个高级向导,指导开发人员设置组件在页面上的用法,而且,当直接编辑Ajax组件的源代码时,代码辅助(code assist)功能可用。

5. Apache推出Myfaces Core 1.1.3和Tomahawk 1.1.2

Apache基金是Java开源领域最著名的参与者,有着众多脍炙人口的力作,包括Tomcat、Struts、Tapestry、Shale以及Jakarta Commons系列等。Myfaces是Apache一个开源的JSF实现(Implementation),在JSF社区如雷贯耳,推出时间很早,几乎与JSF的规范同步发布。这是因为Apache是JSF专家委员会的成员之一,尽管最初Apache对JSF的规范请求投了反对票,但专家委员会的身份让Apache在JSF实现(Implementation)上占了先机。 

Apache的Myfaces项目是由两个子项目组成的,一个子项目称为Myfaces Core,是JSF规范的一个具体实现(Implementation),符合JSR-127的要求,并且通过了Sun的TCK,因此与规范100%兼容。另一个子项目称为Myfaces Tomahawk,是一组用户自定义的和扩展的标准组件。2006年5月9日,Apache同时发布了Myfaces两个子项目的新版本,分别是Myfaces Core 1.1.3和Myfaces Tomahawk 1.1.2。

Myfaces Core是JSF的标准实现,与Sun的参考实现RI大同小异,事实上,JSF的所有标准实现都是类似的。Myfaces对JSF的贡献表现在Tomahawk。在Myfaces Tomahawk中,Apache对所有的JSF标准组件进行了扩展,并且提供了一组附加的高级组件。

对JSF标准组件的扩展包括几个方面,例如,Web应用中常常需要对不同的角色显示不同的页面内容,Tomahawk通过增加enabledOnUserRole和visibleOnUserRole两个属性来达到这一目的;又如,Tomahawk还扩展了一个称为displayValueOnly的属性,用于控制文本框的可读可写特性;Data Table是JSF最有价值的组件之一,Toamhawk的扩展Data Table比标准Data Table功能更强大,可以对Data Table按列排序,按列分组,并且允许单独为每个列设置列头和列尾。

Tomahawk的附加高级组件非常丰富,有四、五十种之多,而且还在不断增加。值得一提的是Tomahawk的文件上传组件。文件上传是Web应用中最常见的任务之一,可是,不管是Servlet、JSP还是JSF,都不直接支持文件上传操作,因此,网络上文件上传的解决方案满天飞。将复杂的文件上传编程进行了极大的简化,只需在tag中设置几个属性,一切就都成为现实了。

另一个独具特色的附加高级组件是Tree组件,最新版本称为Tree2组件。这个组件可以将一个后台bean的数据以树的方式展示在网页上,节点的外观可以根据其类型进行控制,包括文本、图像和checkbox等在内的几乎任何JSF组件都可以被包含在节点之内,而且节点的展开状态既可以在客户端控制,也可以在服务器端控制。

Apache是JSF曾经的反对者,现在成了JSF最积极的推动力量。JSF的魅力由此可见一斑。

6. Sun推出JavaServer Faces 1.2

2006年年终,当日历快要翻过一半时,JSF社区期待已久的JavaServer Faces新版本,终于闪亮登场。5月11日,Sun的JSF专家组完成了最后的文档修订,JavaServer Faces 1.2规范的最终版本,出现在Sun公司网站的下载页面上。10天后的5月20日,java.net宣布,作为GlassFish开源项目一部分的JSF参考实现RI 1.2正式发布。大批JSF爱好者纷纷下载最新的JSF规范和参考实现,期待着旧版本中困扰他们的问题,在新版本中得到解决。 

与JSP的混合,一直是JSF中存在的最大问题。在JSF1.2之前,当在一个页面上混合JSF和JSP标签时,会出现一些非预期的页面行为。例如,在某些情形下,页面上的信息会以不正确的顺序显示出来,而在另一些情形下,有些组件在首次访问页面时不可见,只有当再次访问时才出现。导致这些异常结果的原因,是JSF和JSP大相径庭的请求处理生命周期。

JSF1.2的专家组,将解决上述问题列为新版本的首要目标。为此,他们作出了将EL独立出来的重大决定。EL是表达式语言,在JSF和JSP页面上均有采用,是联系页面上动态信息和后台JavaBeans属性的纽带。由于JSF和JSP请求处理生命周期的差异,JSF上的EL和JSP上的EL虽然有着相同的概念,但格式和处理逻辑不尽相同。

从JSF1.2开始,EL已经独立出来,不再是JSF的一部分,也不再是JSP的一部分,EL有了自己的规范,成为一个统一的EL。事实上,EL的应用领域并不局限于JSF和JSP,也许我们将来会在其他领域看到EL的应用。

对于开发人员来说,JSF1.2所带来的最大好处是,他们可以在一定的规则之下,随心所欲地混合JSF和JSP的标签了。这对于JSF的发展至关重要,因为JSP的用户基础非常庞大,虽然“纯”的JSF页面完全可以适用于绝大部分的web应用,但开发人员与JSP藕断丝连的关系,使得他们无法立即割舍JSP,所以,很多web应用将会是JSF和JSP的混合体。

责任编辑:liqwei
打印本页】【关闭本页】【返回列表
·上一篇:JSF 2006年大事记上篇(1)
·下一篇:JSF 2006年大事记下篇(1)
 文章评分
  • current rating
-5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5
 相关文章
·[Java/JSP]JSF 2006年大事记下篇(2) (2010-04-22)
·[Java/JSP]JSF 2006年大事记下篇(1) (2010-04-22)
·[Java/JSP]JSF 2006年大事记上篇(1) (2010-04-22)
 相关评论
 站点最新文章 更多>> 
·[经典影音]弱点
·[经典影音]萨利机长
·[经典影音]天空之眼
·[管理知识]康奈尔笔记法,提高100%学习效率
·[管理知识]刘强东:我管75000人靠这4张表格
·[管理知识]跟壳牌学HSE管理
·[运营策划]编辑工作内容整理
·[至理名言]奋斗与决定
·[瀚海拾遗]盲人打灯笼之各家论道
·[搞笑段子]中国男足
 站点浏览最多 更多>> 
·[协议规范]http断点续传原理:http头 Range、…
·[JS/CSS/HTML]HTML 空格的表示符号 nbsp / en…
·[NoSQL]Mongo数据库简介
·[协议规范]什么是SPF记录?如何设置、检测SP…
·[协议规范]图解 HTTPS 通信过程
·[PHP]精选国外免费PHP空间推荐
·[程序综合]常用IP地址查询接口
·[程序综合]什么是 DNS Prefetch ?
·[程序综合]获取客户端IP地址的三个HTTP请求…
·[Linux]/usr 目录的由来