千家信息网

如何用jquery+Ajax实现简单分页条

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了如何用jquery+Ajax实现简单分页条的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用jquery+Ajax实现简单分页条文章都会有所收获,下面
千家信息网最后更新 2026年10月31日如何用jquery+Ajax实现简单分页条

这篇文章主要介绍了如何用jquery+Ajax实现简单分页条的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用jquery+Ajax实现简单分页条文章都会有所收获,下面我们一起来看看吧。

一、如果是jsp页面的话,可以用EL表达式和JSTL标签制作一个分页条,没有什么难度。用EL表达式和JSTL标签实现的缺点就是无法实现异步效果,整个页面是重新刷新了一遍的。

二、如果是普通的html页面,当然是无法使用EL表达式和JSTL标签的,这时只能通过异步Ajax的方式去实现。当然了,JSP页面两种方式都是可以使用的。

三、分页条,这里我是用Ajax和Jquery去做的。实现起来比较繁琐,代码特别长,因为都是拼接一大堆的字符串,然后使用html()方法或是append()方法去改变文档的内容。

四、事前分析

浏览器端需要发送给服务器端的参数有两个:

①当前的页码currentPage;
②页面的大小(一页显示几条记录)pageSize。

服务器端给浏览器端发送的是Json格式的数据,也就是一个页面实体类PageBean。其中PageBean有如下字段:

①总记录数totalCount;
②总页码totalPage;
③每页的数据 List list;
④当前页码currentPage;
⑤每页显示的记录数pageSize。

这个PageBean支持泛型,代码如下:

public class PageBean {    private int totalCount; // 总记录数    private int totalPage ; // 总页码    private List list ; // 每页的数据    private int currentPage ; //当前页码    private int rows;//每页显示的记录数,也就是pageSize    public int getTotalCount()     {        return totalCount;    }    public void setTotalCount(int totalCount)    {        this.totalCount = totalCount;    }    public int getTotalPage()     {        return totalPage;    }    public void setTotalPage(int totalPage)     {        this.totalPage = totalPage;    }    public List getList()     {        return list;    }    public void setList(List list)     {        this.list = list;    }    public int getCurrentPage()     {        return currentPage;    }    public void setCurrentPage(int currentPage)     {        this.currentPage = currentPage;    }    public int getRows()     {        return rows;    }    public void setRows(int rows) {        this.rows = rows;    }    @Override    public String toString()     {        return "PageBean{" +                "totalCount=" + totalCount +                ", totalPage=" + totalPage +                ", list=" + list +                ", currentPage=" + currentPage +                ", rows=" + rows +                '}';    }}

要想做到分页,肯定要用到SQL语句中的"limit"。举个例子说明一下含义。

select * from student limit 2,5;

具体含义:从student表当中查询数据,从索引为"2"的记录开始查询,往后查5条。

索引是从0开始的,所以上面的语句相当于查询了第3、第4、第5、第6、第7条记录,总共5条记录。

总而言之,第一个数字就是"从哪开始查"的意思,第二个数字就是"往后查几条"的意思。

这里的"从哪开始查",需要计算出来。公式如下:

(currentPage-1)×pageSize

也就是当前页码减去一,括号,在乘以页面大小。

所以查询语句的伪代码如下:

select * from student limit (currentPage-1)×pageSize,pageSize;

对于总页码totalPage,可以通过总记录数totalCount和页面大小pageSize计算出来。代码如下:

totalPage=totalCount%pageSize==0?totalCount/pageSize:(totalCount/pageSize+1);

五、服务器端主要代码

import com.fasterxml.jackson.databind.ObjectMapper;import domain.PageBean;import domain.RainFall;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import util.JDBCUtils;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.List;@WebServlet("/ViewRainByPageServlet")public class ViewRainByPageServlet extends HttpServlet{    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException    {        JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource());        String sql="select * from rain_fall limit ?,?";//查询部分元组        String sql2="select * from rain_fall";//查询所有元组        List countList = template.query(sql2, new BeanPropertyRowMapper(RainFall.class));        int totalCount=countList.size();//从数据库获取总记录数        int totalPage;//先声明一下总的页码,总的页码需要根据客户端发送过来的数据进行计算        String currentPage = request.getParameter("currentPage");        String pageSize = request.getParameter("pageSize");        int intCurrentPage = Integer.parseInt(currentPage);//用户发来的当前页码        if(intCurrentPage==0)//用户点击上一页按钮,currentPage就减1,会出现减到0的情况        {            intCurrentPage=1;//如果用户的currentPage=0,直接把页码设为1,把第一页的数据返回给客户端        }        int intPageSize = Integer.parseInt(pageSize);//用户发来的页面大小        totalPage=totalCount%intPageSize==0?totalCount/intPageSize:(totalCount/intPageSize+1);//计算出总的页数        if(intCurrentPage>totalPage)//用户点击下一页按钮,currentPage就加1,会出现大于总页数的情况        {            intCurrentPage=totalPage;//把当前页码设为总页数        }        int startIndex=(intCurrentPage-1)*intPageSize;//从索引为几的记录开始查询?        List list = template.query(sql, new BeanPropertyRowMapper(RainFall.class),startIndex,intPageSize);        ObjectMapper mapper=new ObjectMapper();        response.setContentType("application/json;charset=utf-8");//设置响应数据类型和字符编码        PageBean pageBean=new PageBean<>();//创建PageBean对象        //封装PageBean对象        pageBean.setTotalCount(totalCount);        pageBean.setTotalPage(totalPage);        pageBean.setList(list);        pageBean.setCurrentPage(intCurrentPage);        pageBean.setRows(intPageSize);        //将数据写回客户端        System.out.println(pageBean);        mapper.writeValue(response.getOutputStream(),pageBean);    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException    {        this.doPost(request, response);    }}

六、前端代码(很长)

<%--  Created by Yingyong Lao.  User: laoyingyong  Date: 2019-12-10  Time: 19:28--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>    查看降雨信息                            
降雨信息一览
id 地区 降雨量(mm) 月份 发布日期

七、效果展示

关于"如何用jquery+Ajax实现简单分页条"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"如何用jquery+Ajax实现简单分页条"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

页码 页面 数据 用户 就是 按钮 查询 代码 内容 函数 数字 样式 上一 图标 大小 字符 对象 页数 降雨 字符串 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技海报 上海喔噻互联网科技有限公司 广州大一互联网络科技有限公司 互联网巨头反垄断金融科技 科技类互联网 没上市的科技互联网公司 易互联网科技有限公司 万易互联网科技有限公司 凡科互联网科技 万达互联网科技 成都玖崟互联网科技有限公司乐商圈怎么样 互联网汽车科技小镇 荆州市昕露互联网络科技有限公司 燊美集互联网科技有限公司 互联网科技圈年度人物 互联网时代的科技公司 美国互联网科技实力 广州百诚互联网科技有限公司官网 安徽零酒互联网科技有限公司 广西泛欧互联网科技有限公司 科技互联网公司装修 互联网金融 金融科技 互联网实体化科技化 苏州五指互联网络科技有限 坤平互联网科技 深圳市优智互联网科技有限公司 中科明德北京互联网科技 互联网科技快讯热点 南京一网一红互联网科技有限公司 互联网科技机房
0