前端jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>11111</title>
<link href="../css/style.css" rel="stylesheet" type="text/css">
<script language="javascript" src="function/ajax_func.js"></script>
<script language="javascript" src="function/json.js"></script>
<script language="javascript">
//页面加载,获取第一页的新闻列表
function winload() {
send_request("get","newsManager?currentPage=1",null,"XML",populateList);
}
//将所获取的新闻列表填充到页面的相应位置
function populateList() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
var jsonCon = http_request.responseText.parseJSON();
var jsonObj = eval(jsonCon);
var currentPage = jsonObj.currentPage;
var totalPage = jsonObj.totalPage;
var prePage = parseInt(currentPage) - 1;
var nextPage = parseInt(currentPage) + 1;
var newslist = jsonObj.news;
var innerHTML = "";
if((newslist!=null)&&(newslist.length!=0)) {
innerHTML += "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"0\" border=\"0\">\r\n";
innerHTML += "<tr><td width='10%' height='25'>ID</td><td width='65%'>标题</td></tr>";
for(var i=0;i<newslist.length;i++) {
var id = jsonObj.news[i].id;
var title = jsonObj.news[i].name;
innerHTML += "<tr>";
innerHTML += "<td width='10%' height='25'>"+id+"</td>";
innerHTML += "<td width='65%' height='25'>"+title+"</td>";
innerHTML += "</tr>";
}
innerHTML += "</table>\r\n";
}else {
innerHTML += "暂时没有任何信息";
}
//Download by http://www.codefans.net
//window.alert(currentPage+"|"+nextPage+"|"+prePage+"|"+totalPage);
document.getElementById("newslist").innerHTML = innerHTML;
document.getElementById("prePage").innerHTML="<a href=\"javascript:void(0)\" onClick=\"goToPage('"+prePage+"')\">上一页</a>";
document.getElementById("nextPage").innerHTML="<a href=\"javascript:void(0)\" onClick=\"goToPage('"+nextPage+"')\">下一页</a>";
document.getElementById("lastPage").innerHTML="<a href=\"javascript:void(0)\" onClick=\"goToPage('"+totalPage+"')\">最末页</a>";
//window.alert(currentPage);
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
//页面跳转
function goToPage(page) {
send_request("get","newsManager?currentPage="+page,null,"XML",populateList);
}
</script>
</head>
<body onLoad="winload()">
<table width="500" border="0" cellspacing="0" cellpadding="4">
<tr>
<td align="center">1111</td>
</tr>
</table>
<table width="500" border="0" cellspacing="0" cellpadding="4">
<tr>
<td align="center" height="200" valign="top">
<label id="newslist"></label>
</td>
</tr>
</table>
<table width="500" border="0" cellspacing="0" cellpadding="4">
<tr>
<td align="center">
<label id="firstPage">[url=javascript:void(0)]第一页[/url]</label>
<label id="prePage">上一页</label>
<label id="nextPage">下一页</label>
<label id="lastPage">最末页</label>
</td>
</tr>
</table>
</body>
</html>
ajax_func.js
//定义XMLHttpRequest对象实例
var http_request = false;
//定义可复用的http请求发送函数
function send_request(method,url,content,responseType,callback) {//初始化、指定处理函数、发送请求的函数
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
if(responseType.toLowerCase()=="text") {
//http_request.onreadystatechange = processTextResponse;
http_request.onreadystatechange = callback;
}
else if(responseType.toLowerCase()=="xml") {
//http_request.onreadystatechange = processXMLResponse;
http_request.onreadystatechange = callback;
}
else {
window.alert("响应类别参数错误。");
return false;
}
// 确定发送请求的方式和URL以及是否异步执行下段代码
if(method.toLowerCase()=="get") {
http_request.open(method, url, true);
}
else if(method.toLowerCase()=="post") {
http_request.open(method, url, true);
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
else {
window.alert("http请求类别参数错误。");
return false;
}
http_request.send(content);
}
// 处理返回文本格式信息的函数
function processTextResponse() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
//alert(http_request.responseText);
alert("Text文档响应。");
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
//处理返回的XML格式文档的函数
function processXMLResponse() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
//alert(http_request.responseXML);
alert("XML文档响应。");
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
servlet
package com.eamoi.ajax;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class NewsJsonService {
public NewsJsonService(){
}
public List getNews(){
StringBuffer sb = new StringBuffer();
List l = new ArrayList();
try{
// File f = new File(System.getProperty("user.dir")+File.separator+"src"+File.separator+"news.txt");
// FileReader fr = new FileReader(f);
// BufferedReader bf = new BufferedReader(fr);
// String strObj;
// while ((strObj = bf.readLine()) != null) {
// sb.append(strObj);
// }
Map map1 = new HashMap();
map1.put("0", "aa");
map1.put("1", "bb");
Map map2 = new HashMap();
map2.put("0", "aa2");
map2.put("1", "bb2");
Map map3 = new HashMap();
map3.put("0", "aa3");
map3.put("1", "bb3");
Map map4 = new HashMap();
map4.put("0", "aa4");
map4.put("1", "bb4");
Map map5 = new HashMap();
map5.put("0", "aa6");
map5.put("1", "bb6");
Map map6 = new HashMap();
map6.put("0", "aa6");
map6.put("1", "bb6");
Map map7 = new HashMap();
map7.put("0", "7aa");
map7.put("1", "b7b");
Map map8 = new HashMap();
map8.put("0", "a8a");
map8.put("1", "b8b");
Map map9 = new HashMap();
map9.put("0", "a9a");
map9.put("1", "b9b");
Map map10 = new HashMap();
map10.put("0", "a00a");
map10.put("1", "b00b");
Map map11 = new HashMap();
map11.put("0", "a111a");
map11.put("1", "b111b");
l.add(map1);
l.add(map2);
l.add(map3);
l.add(map4);
l.add(map5);
l.add(map6);
l.add(map7);
l.add(map8);
l.add(map9);
l.add(map10);
l.add(map11);
// for(int i= 0;i<2;i++){
// map.put(i+"", i+"s");
// }
//
// l = new ArrayList();
// for(int j=0;j<10;j++){
// l.add(map);
// }
}catch (Exception e){
e.printStackTrace();
}
return l;
}
public static void main(String[] args){
NewsJsonService nj = new NewsJsonService();
nj.getNews();
String i = "";
}
}
分享到:
相关推荐
"ASP.NET编程知识:ASP.NET中利用Jquery+Ajax+Json实现无刷新分页的实例代码" 本文将详细介绍如何使用Jquery、Ajax和Json技术在ASP.NET中实现无刷新分页的实例代码。通过本文,读者将了解到无刷新分页的实现原理、...
在ASP.NET中,我们可以创建一个ASP.NET Web Form页面(如`AjaxJson.aspx`),并在后台代码(如`AjaxJson.aspx.cs`)中处理数据获取和计算分页信息。同时,我们需要在页面中包含必要的JavaScript库,如jQuery和用于...
本文通过实例详细介绍了如何使用Jquery、Ajax和Json实现数据的异步分页功能。后端通过Java生成Json格式数据,前端则通过Jquery处理Ajax请求和分页逻辑,展示数据。整个过程涉及前后端的协作,页面渲染和用户交互的...
通过学习和使用这个Ajax+Json基于Mootools的插件实例集,开发者可以深入了解如何在实际项目中有效利用Ajax和Json技术,提升Web应用的互动性和响应速度。同时,Mootools的模块化和易用性也会帮助开发者更高效地编写和...
本示例是关于如何利用jQuery、Ajax和.NET技术实现后台动态分页的一个实例,结合了`jquery.pageFoot.js`插件来实现这一功能。 首先,jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及...
这个"Ajax+Json 基于Mootools一些常用的小插件实例集.zip"包含了一系列基于MooTools实现的Ajax和JSON应用实例,旨在帮助开发者深入理解和运用这些技术。 首先,Ajax(Asynchronous JavaScript and XML)是一种在不...
MVC3+Json+Ajax操作实例源码 源码描述: 该源码的目的是开发一个应用程序,用到了MVC3,JQuery,json脚本 为简单起见,这个例子用静态列表用来代替数据库。 源码你可以学习到: 如何使用jQuery JavaScript的confirm或...
本篇文章将深入探讨一个基于.NET的3层架构实现的无刷新表格分页实例,旨在帮助开发者理解并掌握这一技术。 首先,我们需要理解3层架构的概念。在软件设计中,3层架构通常指的是表现层(Presentation Layer)、业务...
- JavaScript/jQuery:使用jQuery的$.ajax或$.getJSON方法发送异步请求到服务器获取分页数据,然后动态更新页面内容。 - ASP.NET MVC:利用Controller返回JsonResult,前端使用JavaScript处理响应数据。 - Web ...
【ASP + JqueryAjax + Access 无刷新分页】是一种网页开发技术,它结合了ASP(Active Server Pages)后端处理、JqueryAjax前端异步通信以及Access数据库的数据存储,以实现网页数据的动态加载,无需整个页面刷新,...
本文档将介绍如何使用Struts2框架结合JSON数据格式以及ExtJS前端库来实现动态分页功能。此方案不仅能够提高用户体验,还能够优化服务器资源的利用效率。 #### 二、关键技术点 1. **Struts2**: 是一个基于Java的...
本篇将详细介绍如何使用jQuery和JSON实现这种功能,以及如何在VS2008和SQL2000环境下开发此类实例。 ### 1. jQuery简介 jQuery是一个流行的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。它的API...
在这个“Json+ajax简单实例”中,我们将深入理解这两者如何协同工作,以及如何使用它们来创建交互式Web应用。 JSON是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript...
本项目是关于“Ajax+Struts”实现分页的一个实例,旨在利用这两种技术的优势,提供一个高效、动态且用户友好的分页解决方案。 首先,让我们来理解一下核心概念: 1. **Ajax(Asynchronous JavaScript and XML)**...
这个“Ajax+asp应用开发典型实例”旨在通过具体的实例来阐述如何有效地利用这两种技术,以创建交互性强、响应迅速的网页应用。 Ajax的核心是实现页面的部分刷新,它允许在不重新加载整个页面的情况下,向服务器发送...
在Ajax的success回调函数中,前端会接收到服务器返回的JSON数据,使用JavaScript解析并动态插入到HTML中,实现无刷新的数据更新。此外,还可以更新分页导航的状态,如禁用已经遍历过的页码,高亮当前页等。 总结来...
3. **数据返回格式**: 由于AJAX请求可能在前端使用JSON或XML解析数据,所以你需要将查询结果转换成合适的格式。在`PageHandler.ashx`中,可以将数据序列化为JSON字符串并返回。 **三、前端AJAX调用** 1. **...
在"ASP + Ajax 分页实例"中,这两个技术被巧妙地结合起来,实现了一个高效且用户友好的分页功能。传统的分页通常会加载整个页面,而使用Ajax分页,只需要向服务器请求当前页的数据,然后在客户端动态更新,这样可以...
总结,这个"php+mysql+json 瀑布流实例"是一个完整的Web应用程序,它演示了如何使用PHP和MySQL作为后端处理和存储数据,而前端则通过JavaScript和JSON实现动态加载和显示数据,形成具有吸引力的瀑布流布局。...