Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 305|回复: 0

[AJAX学习]简单的无刷新分页

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-13 02:49:12 | 显示全部楼层 |阅读模式
    一、服务器发送的模拟数据
    <%@ page contentType="text/HTML;charset=GB2312" %>
    <%@ page import="java.util.*" %>
    <%
    String currentPage = request.getParameter("currentPage");
    System.out.println("currentPage="+currentPage);
    HashMap map = new HashMap();

    map.put("1","<?xml version="1.0" encoding="gb2312"?><content><currentpage>1</currentpage><total>4</total>
    <lists><list><title>标题1</title><abstract>摘要1</abstract></list>
    <list><title>标题2</title><abstract>摘要2</abstract></list></lists></content>");  map.put("2","<?xml version="1.0" encoding="gb2312"?><content><currentpage>2</currentpage><total>4</total>
    <lists><list><title>标题3</title><abstract>摘要3</abstract></list>
    <list><title>标题4</title><abstract>摘要4</abstract></list></lists></content>");  map.put("3","<?xml version="1.0" encoding="gb2312"?><content><currentpage>3</currentpage><total>4</total>
    <lists><list><title>标题5</title><abstract>摘要5</abstract></list>
    <list><title>标题6</title><abstract>摘要6</abstract></list></lists></content>");  map.put("4","<?xml version="1.0" encoding="gb2312"?><content><currentpage>4</currentpage><total>4</total>
    <lists><list><title>标题7</title><abstract>摘要7</abstract></list>
    <list><title>标题8</title><abstract>摘要8</abstract></list></lists></content>");  response.setContentType("text/xml;charset=gb2312");
    out.println(map.get(currentPage).toString());
    %>  数据格式:
    <content>
       <currentpage></currentpage>
       <total></total>
       <lists>
         <list>
           <title></title>
           <abstract></abstract>
         </list>
       </lists>
    </content>  二、无刷新分页客户端代码:  <html>
    <head>
    <title></title>
    <script language="javascript" type="text/javascript">
    1. var xmlHttp;
    2.       function createXMLHttpRequest(){
    3.           if (window.ActiveXObject){
    4.                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    5.           }else if(window.XMLHttpRequest){
    6.                xmlHttp = new XMLHttpRequest();
    7.           }
    8.       }
    9.                    //查询指定页面
    10.       function queryPage(currentPage){
    11.         createXMLHttpRequest();
    12.         var url="multiPageServer.jsp?currentPage="+currentPage;
    13.         xmlHttp.open("get",url,true);
    14.         xmlHttp.onreadystatechange = callback;
    15.         xmlHttp.send(null);
    16.      }
    17.      //返回信息处理
    18.      function callback(){
    19.         if (xmlHttp.readyState == 4) {
    20.           if (xmlHttp.status == 200) {
    21.               var xmlDoc = xmlHttp.responseXML;
    22.               showList(xmlDoc);
    23.           }
    24.         }         
    25.      }
    复制代码
    //根据返回的信息显示数据
    function showList(xmlDoc){
       var currentPage =xmlDoc.documentElement.childNodes[0].firstChild.nodeValue;
       var total = xmlDoc.documentElement.childNodes[1].firstChild.nodeValue;
       if(currentPage>1){
          document.getElementById("lastPage").innerHTML="<a href="javascript:void(0)"      onclick=queryPage("+(parseInt(currentPage)-1)+")><上一页</a>";
        }else{
           document.getElementById("lastPage").innerHTML="";
        }
        if(currentPage!=total){
          document.getElementById("nextPage").innerHTML="<a href="javascript:void(0)"      onclick=queryPage("+(parseInt(currentPage)+1)+")>下一页></a>";
        }else{
           document.getElementById("nextPage").innerHTML="";
        }
         document.getElementById("currentPage").innerHTML="当前页:"+currentPage;
         document.getElementById("total").innerHTML="  总页数:"+total;
         var lists = xmlDoc.documentElement.childNodes[2].childNodes;
         var tb=document.getElementsByTagName("table")[0];
         while(tb.rows.length>0){
           tb.deleteRow(0);
         }
        appendRow("标题","摘要");
        for(i=0;i<lists.length;i++){
           var title = lists.firstChild.firstChild.nodeValue;
            var abstract = lists.firstChild.nextSibling.firstChild.nodeValue;
            appendRow(title,abstract);
         }
       }

    1.      //逐行添加标题和摘要
    2.     function appendRow(title,abstract){
    3.       var tbody = document.getElementsByTagName("tbody")[0];            
    4.       var newTr = document.createElement("tr");
    5.       var newCell1 = document.createElement("td");
    6.       var newCell2 = document.createElement("td");
    7.       newCell1.innerHTML = title;
    8.       newCell2.innerHTML = abstract;
    9.       newTr.appendChild(newCell1);
    10.       newTr.appendChild(newCell2);
    11.       tbody.appendChild(newTr);         
    12.     }
    复制代码
    </script>
    <body onload=queryPage(1)>
      <table border=1>
        <tbody>
        </tbody>
      </table>
      <table>
        <tbody>
          <tr>
           <td id=lastPage><a href="javascript:void(0)" onclick=queryPage(1)><上一页</a></td>
            <td id=nextPage><a href="javascript:void(0)" onclick=queryPage(3)>下一页></a></td>
          </tr>
          <tr><td id=currentPage></td><td id=total></td></tr>
        </tbody>
      </table>
    <body>
    </html>  

      
      
       
       

         
       

         
       
      
    复制代码

    源码下载:http://file.javaxxz.com/2014/10/13/024912265.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-26 07:06 , Processed in 0.359589 second(s), 48 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表