首页 > 网吧技术 > 进阶殿堂 > 用于 JSF 的 Ajax 订阅

用于 JSF 的 Ajax

http://www.xkq.com  2009年02月25日 09:43  燕小6      技术网管群 84081322 
5258网吧主页 百台机器每月收入100+ http://lm.5258.net/
作者: Dan Allen,  出处:developerWorks 中国, 责任编辑: 叶江, 2007-06-28 14:14
  Dan Allen 在本文展示了如何使用 Seam Remoting API 和 Ajax4jsf 组件与服务器上的受管 bean 通信……

  时下,大多数 Java 开发人员都很看好 mashup,所以您可能会困惑:Seam 与号称 Web 2.0 的技术,尤其是 Ajax,如何能集成。若能使用 Seam 启动 JSF 中的部分页面更新或者用 Google Map 协助 JSF 应用程序 mashup,那将非常酷,不是么?您不仅能这么做,而且还非常容易。

  我将为您展示如何使用 Seam Remoting API 和 Ajax4jsf 组件来协助基于 JSF 应用程序中的 Ajax 风格的交互。正如您将会看到的,结合 Seam 和 Ajax 的最大好处在于它让您可以享用所有 Web 2.0 的奢侈东西,而同时又不需要 陷于使用 JavaScript XMLHttpRequest 对象的痛苦之中。借助 Seam Remoting 和 Ajax4jsf,可以与服务器上的受管 bean 通信,就好像这些 bean 与浏览器同在本地一样。浏览器和服务器状态保持同步,而且永远无需处理促成它们之间通信的低层 API。

  我首先会为您展示 Seam 是如何推动 Ajax 编程的基于组件的新方式的。您将学会如何使用 Seam Remoting API 来通过 Ajax 进行 JavaScript 和服务器端对象间的通信。一旦理解了这种面向 Ajax 的新(且简单的)方式,您就可以使用它来增强 Open 18 应用程序,方法如下:

  •   在 Open 18 球场目录和 Google Maps 之间创建一个 mashup。
  •   使用 Ajax4jsf 合并应用程序的球场目录页和球场细节页。
  •   重新访问应用程序的 Spring 集成并让 Spring bean 在 Seam Remoting 的生命周期可用。

  Open 18 和 Google Maps 之间的 mashup 让用户可以定位地图中的高尔夫球场目录中的位置。将此球场目录和球场细节页合并起来(并将低层代码 Ajax 化)可以让您显示球场的细节信息而无需加载新页。将 Spring bean 和 Seam Remoting 相集成让您可以捕获 Google Maps 位置标记的重定位并能将相关球场的经度和纬度存储到数据库中。如您所见,结果就是会产生所有高尔夫球员都喜欢使用的 Web 2.0 风格的应用程序,这真是让人印象深刻!

  如果您曾经深受涉及到大量 JavaScript 的过于复杂的 Ajax 编程之苦,如果到目前为止,您都由于不想面对其复杂性而一直尽量避免使用 Ajax,那么本文所要教授的内容将会帮助您免除这种担心。在重构应用程序时,您需要进行一些 JavaScript 编码,但与大多数 Ajax 实现不同,JavaScript 并不会占据您代码中的大部分;相反,它只扩展了服务器端的 Java 对象。

  通向 Ajax 的不同之路

  正如在应用程序中希望避免显式的内存管理一样,您亦不 希望必须要处理低层的 Ajax 请求协议。这么做只会带来更大的麻烦(更确切地说,是更多的麻烦),比如多浏览器支持、数据封送处理、并发冲突、服务器负载以及定制 servlet 和 servlet 过滤器。其中您想要避免的最大的麻烦是无意间公开的无状态的请求-响应范例,但该范例是基于组件的框架,比如 JSF,所想要隐藏的。

Tag: Ajax JSF Seam Remoting

1234
分享收藏到: 新浪ViVi 365Key网摘 和讯网摘 Google书签 Windows Live Del.icio.us Yahoo书签 提交新发现,Dig it 添加到百度搜藏 收藏此页到纯我网 收進你的MyShare個人書籤
RSS订阅】 
现在有人对本文发表评论
评价:
表情: 
匿名发表
相关文章