欢迎来到天天文库
浏览记录
ID:15344078
大小:180.50 KB
页数:12页
时间:2018-08-02
《ajax和web开发新技术:dynamic faces》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AJAX和Web开发新技术:DynamicFacesProjectDynamicFaces是数个扩展JavaServerFaces技术的的项目之一。ProjectDynamicFaces是一个创新型的项目,提供了向基于JavaServerFaces技术的应用软件增添Ajax功能的方法。它使我们能够让应用软件已经在使用的任何JavaServerFaces组件支持Ajax功能。我们无需对组件进行修改就能够使它们支持Ajax,我们也无需对应用软件进行任何修改就可以使它具有Ajax的魔力。 要使应用软件具有Ajax魔力,我们
2、必须首先确定应用中希望Ajax功能更新的网页部分。象基于JavaServerFaces技术的开发人员了解的那样,JavaServerFaces网页是由组件树表示的。利用DynamicFaces,我们能够确定组件树中的哪个组件会受益于异步更新。就象使用Ajax更新代表网页的HTMLDOM树的一部分那样,我们使用DynamicFaces更新代表JavaServerFaces网页的组件树的一部分。因此,DynamicFaces机制对于Ajax和JavaServerFaces开发人员而言是熟悉的。 更重要的是,Dynamic
3、Faces使用JavaServerFaces组件模式,使我们能够以一种更有效的方式利用Ajax功能。由于组件模式的协作特性,一些网页组件上的JavaScript事件能够触发该网页上任何数量的其它组件的异步更新。DynamicFaces使得这些异步更新只是向服务器发送的一次Ajax请求的结果,而不是导致每次异步更新的Ajax请求的结果。 DynamicFaces还利用JavaServerFaces组件模式有效地管理客户机端和服务器端的状态。当DynamicFaces更新客户机端上的组件状态时,它更新的只是已经改变的组件
4、而不是整个树的状态。最好的一点是DynamicFaces在后台完成所有这些操作,而且是以一种与JavaServerFaces技术的生命周期完全一致的方式完成的。 除了简化向应用软件增添Ajax功能外,DynamicFaces还向我们提供了增添Ajax功能的方法的灵活性。这篇文章将讨论利用DynamicFaces使应用软件更具交互性和活力的三种方法: ·利用DynamicFaces提供的定制ajaxZone标签确定组件树中需要被Ajax化的部分。 ·利用DynamicFaces提供的JavaScript库向单个组件
5、增添Ajax功能。 ·在一个网页中增添支持Ajax的组件,例如jMakiwidget。 在学习这些技术前,我们先来看看应用软件如何才能使用DynamicFaces技术。 开发利用DynamicFaces的应用软件 通过向一个标准的JavaServerFaces1.2实现中增添Ajax功能,DynamicFaces利用了JavaServerFaces技术的运行时间库的可扩展性。DynamicFaces的核心是定制的Lifecycle和ViewRoot实现。这二个实现是JavaServerFaces技术提供的标准L
6、ifecycle和ViewRoot实现的扩展,一个标准的Lifecycle对象代表JavaServerFaces生命周期的一个实例,一个标准的ViewRoot对象代表一个组件树的根。联合使用定制Lifecycle对象和定制ViewRoot对象,使JavaServerFaces生命周期能够处理Ajax事务,在无需对整个网页更新的情况下重新显示组件树的一部分。这些定制实现服从于不支持Ajax请求的标准实现。 为了使JavaServerFaces技术运行时间库知道定制Lifecycle对象的存在,我们必须在配置描述器中利用
7、一个初始化参数向FacesServlet实例报告该对象。<servlet><servlet-name>FacesServlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><init-param><param-name>javax.faces.LIFECYCLE_ID</param-name><param-value>com.sun.faces.lifecycle.PARTIAL</param-name></in
8、it-param><load-on-startup>1</load-on-startup></servlet> 此外,我们还必须将DynamicFaces依赖的JavaArchive(JAR)文件添加到应用软件的webarchive(WAR)文件的lib目录中。因为DynamicFaces是基于JavaPlatformEnter
此文档下载收益归作者所有