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

AJAX开发简略 (第二部分)

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/07/10
问题,即要么为每个可能的视图编写独立的toXML()方法,要么心甘情愿接收冗余的数据,一旦数据结构或者文档发生改变,toXML()就要做必要的修改。

  B、页面模板生成XML方式
  一般的,可以采用通用的页面模板技术来生成XML文档,这个XML文档可以符合任何需要的数据模型,供AJAX灵活的调用。另外,模板可以采用任何标记语言编写,提高工作效率。下面是一个采用Struts标签库编写的XML文档,输出之前提到的employees.xml:

  Sample8_2.jsp:

<%@ page contentType="application/xml; charset=gb2312" import="Employee"%><%@ page import="java.util.Collection,java.util.ArrayList"%><?xml version="1.0"?><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%><%Employee em1 = new Employee();em1.setName("J.Doe");em1.setJob("Programmer");em1.setSalary("32768");Employee em2 = new Employee();em2.setName("A.Baker");em2.setJob("Sales");em2.setSalary("70000");Employee em3 = new Employee();em3.setName("Big Cheese");em3.setJob("CEO");em3.setSalary("100000");Collection employees = new ArrayList();employees.add(em1);employees.add(em2);employees.add(em3);pageContext.setAttribute("employees",employees);%><employees><logic:iterate name="employees" id="employee"><employee name="<bean:write name=''employee'' property=''name''/>"><job><bean:write name="employee" property="job"/></job><salary><bean:write name="employee" property="salary"/></salary></employee></logic:iterate></employees>

  

  采用页面模板生成XML方式,需要为每个需要的的数据模型建立一个对立的JSP文件,用来生成符合规范的XML文档,而不能仅仅在类的toXML()方法中组织对象图来实现。不过,倒是可以更加方便的确保标记匹配、元素和属性的顺序正确以及XML实体正确转义。

  参考资料中Philip McCarthy的文章还描述了一种Javascript对象标注的生成方式,本文在此不赘述。有兴趣的读者可以自行查看了解。

7.5.3、如何在使用XML还是普通文本间权衡
  使用XML文档确实有其方便之处。不过XML文档的某些问题倒是要考虑一下,比如说延迟,即服务器不能立即解析XML文档成为DOM模型。这个问题在一定程度上会影响AJAX要求的快速反应能力。另外,某些情况下我们并不需要使用XML来表示数据,比如说数据足够简单成只有一个字符串而已。就好像我们之前提到的数据校验和级联菜单的例子一样。所以,个人认为在下面这些情况下可以考虑使用XML来作为数据表示的介质:
  • 数据比较复杂,需要用XML的结构化方式来表示
  • 不用考虑带宽和处理效率支出
  • 与系统其他API或者其他系统交互,作为一种数据中转中介
  • 需要特定各式的输出视图而文本无法表示的

  总之,要认真评估两种表示方式的表示成本和效率,选择合适的合理的表示方式。   

  在关于AJAX的系列文章的下一篇,我们将综合使用DOM和XML,来实现一个可以持久化的简单留言簿。另外,还将试着模拟MSN Space的部分功能,来体会AJAX的魅力。

参考文章:

作者:fanscial标题:《AJAX简介》
网址:http://www.blogjava.net/fanscial/archive/2005/08/31/11628.html
作者:Amour GUO标题:《AJAX内部交流文档》
网址:http://www.dragonson.com/doc/ajax.html
作者:MoztwWiki标题:《AJAX上手篇》
网址:http://wiki.moztw.org/index.php/AJAX_%E4%B8%8A%E6%89%8B%E7%AF%87
作者:Philip McCarthy标题:面向Java开发人员的Ajax:构建动态的Java应用程序
网址:http://kb.csdn.net/java/Articles/200510/bed0423e-5297-49c9-9464-0e3eb733c8b5.html
作者:Philip McCarthy标题:面向Java开发人员的Ajax:Ajax的Java对象序列化
网址:http://kb.csdn.net/java/Articles/200510/a5b630cf-a2c2-46f1-8e3b-eadde723e734.html
作者:David Flanagan书名:《Javascript权威指南》

 

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

    免费论文

    原创论文

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