基于Ajax的分页, 分页查询的持久化数据来自xml文档,以方便网友的拷贝和部署。构建这个案例的方法是使用XMLHttpRequest.responseXML获取数据,然后填充到页面的相应位置。构建过程中注意代码复用。

下面是xml格式的数据:news.xml
<?xml version="1.0" encoding="gb2312"?>
<newslist>
<news id="1">
<title>中国加入世贸组织后,服装出口量明显增加</title>
<submittime>2006-01-02</submittime>
</news>
<news id="2">
<title>厦门荣获联合国人居奖</title>
<submittime>2005-10-10</submittime>
</news>
..........................................................
</newslist>
从xml文件中获取全部新闻:
package com.eamoi.ajax;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class NewsService {
private Document dom;
public NewsService() {
try {
SAXBuilder builder = new SAXBuilder();
this.dom = builder.build(NewsService.class.getResource("news.xml"));
}catch(Exception ex) {
this.handleError(ex);
}
}
/**
* 获取全部的新闻列表
* @return
*/
public News[] getAllMessage() {
Collection newslist = new ArrayList();
if(this.dom.getRootElement().getChildren().size()!=0) {
Iterator iterator = this.dom.getRootElement().getChildren().iterator();
do {
Element element = (Element)iterator.next();
News news = new News(element);
newslist.add(news);
}while(iterator.hasNext());
return (News[])newslist.toArray(new News[0]);
}
else
return new News[0];
}
/**
* 处理系统异常
* @param ex
*/
private void handleError(Exception ex) {
ex.printStackTrace();
System.out.println(ex.toString());
}
}
其它文件请下载。
下载源代码