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还是普通文本间权衡总之,要认真评估两种表示方式的表示成本和效率,选择合适的合理的表示方式。
在关于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权威指南》 |