技术开发 频道

JSF 2006大事记上篇



    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的文件上传组件<x:inputFileUpload>。文件上传是Web应用中最常见的任务之一,可是,不管是Servlet、JSP还是JSF,都不直接支持文件上传操作,因此,网络上文件上传的解决方案满天飞。<x:inputFileUpload>将复杂的文件上传编程进行了极大的简化,只需在tag中设置几个属性,一切就都成为现实了。

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

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