当前位置: 网学 > 编程文档 > Ajax > 正文

AJAX开发简略 (第二部分)

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/07/10
mployee><employee name="A.Baker"><job>Sales</job><salary>70000</salary></employee><employee name="Big Cheese"><job>CEO</job><salary>100000</salary></employee></employees>7.5、处理XML文档
  脱离XML文档的AJAX是不完整的。在本部分未完成之前,有读者说AJAX改名叫AJAH(H应该代表HTML吧)比较合适。应该承认,XML文档在数据的结构化表示以及接口对接上有先天的优势,但也不是所有的数据都应该用XML表示。有些时候单纯的文本表示可能会更合适。下面先举个AJAX处理返回XML文档的例子再讨论什么时候使用XML。

7.5.1、处理返回的XML
   例子8 -- sample7_1.htm:
  在这个例子中,我们采用之前确定的AJAX开发框架,稍微修改一下body内容和processRequest的相应方式,将先前的employees.xml的内容读取出来并显示。

  body的内容如下:

<input type="button" name="read" value="读取XML" onClick="send_request(''employees.xml'')">processRequest()方法修改如下:// 处理返回信息的函数  function processRequest() {    if (http_request.readyState == 4) { // 判断对象状态      if (http_request.status == 200) { // 信息已经成功返回,开始处理信息var returnObj = http_request.responseXML;var xmlobj = http_request.responseXML;var employees = xmlobj.getElementsByTagName("employee");var feedbackStr = "";for(var i=0;i<employees.length;i++) { // 循环读取employees.xml的内容var employee = employees[i];feedbackStr += "员工:" + employee.getAttribute("name");feedbackStr += " 职位:" + employee.getElementsByTagName("job")[0].firstChild.data;feedbackStr += " 工资:" + employee.getElementsByTagName("salary")[0].firstChild.data;feedbackStr += "\r\n";}alert(feedbackStr);      } else { //页面不正常        alert("您所请求的页面有异常。");      }    }}

  运行一下,看来效果还不错:

7.5.2、选择合适的XML生成方式

  现在的web应用程序往往采用了MVC三层剥离的设计方式。XML作为一种数据保存、呈现、交互的文档,其数据往往是动态生成的,通常由JavaBean转换过来。由JavaBean转换成XML文档的方式有好几种,选择合适的转换方式往往能达到事半功倍的效果。下面介绍两种常用的方式,以便需要的时候根据情况取舍。

  A、类自行序列化成XML
  类自行序列化成XML即每个类都实现自己的toXML()方法,选择合适的API、适当的XML结构、尽量便捷的生成逻辑快速生成相应的XML文档。显然,这种方式必须要求每个类编写专门的XML生成代码,每个类只能调用自己的toXML()方法。应用诸如JDOM等一些现成的API,可以减少不少开发投入。例子9是一个利用JDOM的API形成的toXML()方法。

  例子9 -- toXml() 的 JDOM 实现 -- Employ类的toXml()方法:

public Element toXml() { Element employee = new Element(“employee”);Employee.setAttribute(“name”,name);Element jobE = new Element(“job”).addContent(job);employee.setContent(jobE);Element salaryE = new Element(“salary”).addContent(salary);employee.setContent(salaryE);return employee;}

  JDOM提供了现成的API,使得序列化成XML的工作更加简单,我们只需要把toXML()外面包装一个Document,然后使用XMLOutputter把文档写入servlet就可以了。toXml()允许递归调用其子类的toXML()方法,以便生成包含子图的XML文档。

  使用类自行序列化成XML的方式,要每个类都实现自己的toXML()方法,而且存在数据模型与视图耦合的

  • 上一篇资讯: AJAX技术框架及开发工具
  • 下一篇资讯: AJAX开发简略 (第一部分)
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号