做了挺长一段jsf的开发了,这期间,我们用jsf的PrimeFaces实现了我们以前不敢想的UI,不得不说PrimeFaces给我们带来了意想不到的福音。 PrimeFaces是一个用于提高JSF Web应用程序开发效率的开源类库,通过它,可以让UI直接和后台对接,它提供了丰厚的ui库,简单易学的案例,方便上手,而且还省去了css和图片的设计时间,是一个很强大的开源类库。

PrimeFaces主要由三个模块组成:第一个是UI Components,PrimeFaces的 UI模块提供了拥有Rich Web用户体验的各种JSF组件,如可即时编辑的datatable、绚丽的日期选择器、便利炫彩的上传下载控件等等,如果要用javascript去实现,必当要花相当多的时间,有了FacesTrace模块,我们可以轻松的使用这些UI。

PrimeFaces使用Yahoo UI库做为默认的客户端框架。PrimeFaces提供的JSF组件能够处理JavaScript Rendering,并且处理如何在服务器端与JSF集成,实现点对点连接。PrimeFaces UI组件还包括:HtmlEditor、ImageCropper、Dialog、AutoComplete、Flash based Chart等。

基本上页面需要的控件都有了,最重要都是,它还支持通过Ajax更新页面,这在性能上,和用户体验上可以说是相当重要的。第二个模块是Optimus,Optimus提供简化JSF开发的解决方案。

Optimus提供基于Google Guice IOC容器的注释来代替XML配置和一个XML-less Navigation Handler能够让你减少基于XML配置JSF Navigation的需要,只需要简简单单的注解,你就可以实现对页面的控制。

此外Optimus还支持利用JPA实现数据持久化;只需几个标签,你就可以将DataTable的内容导出成Excel与PDF。而且它支持安全扩展。

第三个FacesTrace模块,因为目前我们做的项目对FacesTrace模块还不是非常了解,这里只做简单介绍,FacesTrace模块提供跟踪JSF Web应用程序的各种工具包括:JSF LifeCycle可视化查看器;性能跟踪器; Log4J适配器;FacesMessage监听器;组件树可视化查看器等。

虽然PrimeFaces相当出彩,可惜使用的人视乎很少,很难找到资料学习,现在基本上都是靠自己用官网的资料来学习,有不少兼容性的问题,项目结束以后在和大家分享。