日期:2014-05-16 浏览次数:20498 次
?????? 在新项目中客户明确要求更多的使用Ajax提高用户体验,而Ajax的好处也远不止提高用户体验,也给以往沉闷的服务器端开发带来了更多的选择,但是开发人员对于Ajax的熟悉程度都不大一样,更多的Java程序员对JavaScript、Ajax都是知之甚少,所以简化Ajax开发是必须要做的,同时也能简化Ajax开发维护的难度。
???? 二、关于RIA和Ajax
??????? 在Ajax概念刚刚出现的时候,大家第一时间就是构建XMLHttpRequest对象,麻烦而且还得处理跨浏览器,而且乱七八糟的代码也会让人感到迷迷糊糊,所以业界牛人早就预测用不了多久Ajax的使用就会像曾经的DW之于HTML开发,的确,这两年RIA框架雨后春笋般的出现并被开发人员接受、学习,大大简化了Ajax的开发,更丰富了富客户端的开发组件包,目前名气比较大的框架如Prototype、YUI、DWR等。选择一个适合项目开发的RIA框架也成了项目开发准备期的一个新的工作,就好像Web Layer选型把Struts WebWork TapeStry等拿出来比较一边一样,也非常重要。
???? 三、框架选择
???? 由于之前的项目使用Rails开发,自然而然的选择Prototype做为首选,但是在设计阶段有一个需求,就是域控制,经过反复的尝试,最终选用拥有丰富组件的YUI框架,所以Ajax请求部分也换成了YUI的connetion组件,在对Ajax的支持上prototype和YUI很相似。访问http://developer.yahoo.com/yui/获得更多有关YUI信息
???? 四、采用JSON替代XML传递数据 Ajax without XML
???? Ajax中的X就是XML,在Ajax的实现中以往都是采用字符串或者XML来传递,基本上简单的数据就是采用字符串,而复杂的数据结构或者复杂的页面效果就直接用xhtml传输,但是使用XML的问题就是需要双向解析,服务器端要将对象构造XML,页面又要解析XML,两边都挺麻烦。在一些朋友的介绍下,找到JSON这个东西,并第一次听说Ajax without JSON这个概念,JSON是JavaScript的内置对象,是一种特殊结构的字符串,具体信息可以参考:http://www.json.org/json-zh.html。在服务器端如果将Java的POJO对象构造成JSON,就可以在页面上任意的使用这些POJO中的信息,使得Browser Server之间的数据传递变得异常简单,也成为简化Ajax开发的一个方法。
???? 五、实例 YUI+JSON构造域的树结构
???? 实现效果请参考我的另一篇帖子:http://www.iteye.com/topic/89920,其中的模拟数据就是在服务器的一个List数组转化成的JSON对象。
??? A.使用JSON in Java将POJO转化为JSON对象
??? 有多种方法将Java的对象转化为JSON,最牛的莫过于自己手写转化,那就要求对JSON的结构非常熟练,如果像我这样的新手,那请使用组件包,选择也很多,JSON-RPC、JSON in Java等,这里使用JSON in Java这个开源项目,具体信息:http://www.json.org/java/。
????使用方法很简单: