首页 > 其他分享 >分页查询的实现过程

分页查询的实现过程

时间:2023-04-10 20:44:08浏览次数:32  
标签:count 分页 实现 request list 查询 current total page

分页查询

目前我看到的最简单的分页查询的实现就是直接在servlet查询得到list列表之后,在jsp页面或者html页面引用<%进行实现

1、首先,获取到session保存的list数据

List<docu> list = (List<docu>)request.getSession().getAttribute("list");  //此处是取出所存储的数据

2、设置分页需要的相关变量

当前页数,每页起始点0,终止点(你想要每页显示的数据条数-1),以及存储总的list条数数据的total_count;

3、根据list总量得到相应页数

if(list != null)
        total_count = list.size();   //信息的总量
    int page_total = total_count / 10 + (total_count % 10 != 0 ? 1 : 0);//总页数

4、获取得到当前所在的页数

if(request.getParameter("begin") != null) {
        page_current = Integer.parseInt(request.getParameter("begin"));  //获取当前页数
    }

5、页码变化

page_begin = (page_current - 1) * 10;
    page_end = page_begin + 9 > total_count ? total_count : page_begin + 9;
    request.getSession().setAttribute("page_current", page_current);  //保存到session中
    request.getSession().setAttribute("page_total", page_total);

接下来进攻到c标签那里去!放在c:foreach标签外面

6、页面跳转实现

<c:if test="${sessionScope.page_current != 1 }">
            <li><a href="main.jsp?begin=${sessionScope.page_current - 1 }">Prev</a></li>
            </c:if>
            <c:if test="${sessionScope.page_current != sessionScope.page_total }">
            <li><a href="main.jsp?begin=${sessionScope.page_current + 1 }">Next</a></li>
            </c:if>
            当前页数 : ${sessionScope.page_current } / ${sessionScope.page_total}

标签:count,分页,实现,request,list,查询,current,total,page
From: https://www.cnblogs.com/liuzijin/p/17304039.html

相关文章

  • Django笔记二十一之使用原生SQL查询数据库
    本文首发于公众号:Hunter后端原文链接:Django笔记二十一之使用原生SQL查询数据库Django提供了两种方式来执行原生SQL代码。一种是使用raw()函数,一种是使用connection.cursor()。但是官方还是推荐在使用原生SQL之前,尽量的先去探索一下QuerySet提供的各种API。目前......
  • 在DongshanPI-D1开箱使用分享与折腾记录&实现MPU6050数据读取
    前言上一篇文章使用RT-Smart的IIC驱动OLED屏幕,进行基本的字符串显示,在使用过程中对RT-Smart有了一定熟悉,准备使用SPI驱动ST7789,但SPI接口没有引出,本次使用手上已有的传感器MPU6050进行使用。过程本次直接开始添加离线包在/D1S/userapps/rt-thread/bsp/allwinner/d1s下输入scon......
  • :hover下拉框的实现
    通过绝对定位与:hover实现的下拉框效果;一开始没什么大问题,效果也都实现了;但观察对应的项目发现其中的文字其实是超连接所以后续添加了超连接标签后就无法通过:hover进行展示了。源代码<divclass="header-bottom"><ul><ahref=""><li>首页</li>......
  • 借用gcc内置函数帮助C来实现函数重载
    借用gcc内置函数__builtin_choose_expr和__builtin_types_compatible_p可以帮助c来实现函数重载。首先对这两个函数功能做下介绍__builtin_choose_expr(expr,expr1,expr2)与c语言:?运算符有些类似,如果expr表达式为真,那么返回expr1,否则返回expr2_builtin_types_compatible_p(ty......
  • 从零开始USRP 03 实现一个USRP收发demo(hello world)
    这里用的源码来自:UHDC/C++编程实例USRP发送、接收数据我所使用的USRP型号是N210r4,因此默认地址的最后一位是4,使用Ubuntu20.04运行(至于为什么之前配的是18.04,那是因为之前是在我的虚拟机上玩耍的,但是我的虚拟机配网络有点麻烦,因此我给学姐的学长借了一台Linux笔记本,用这台笔......
  • spring boot单库动态分表实现【增删查】(含源码)
    一.背景现实场景中当个别业务数据量过大时会影响系统功能性能,当整个业务还没有达到分库的级别时,动态分表也是一个的选择,基本思想是按照一定维度将数据分表存储动态查询。本次实现的是基于springboot的单表动态增删查,首先分表的规则根据一个格式生产,包含时间在其中,每一条数据......
  • 深入理解 python 虚拟机:字节码教程(2)——控制流是如何实现的?
    深入理解python虚拟机:字节码教程(2)——控制流是如何实现的?在本篇文章当中主要给大家分析python当中与控制流有关的字节码,通过对这部分字节码的了解,我们可以更加深入了解python字节码的执行过程和控制流实现原理。控制流实现控制流这部分代码主要涉及下面几条字节码指令,......
  • 使用 Nginx 实现域名解析到不同端口的应用
    作为个人网站的服务器,一般都是一台。上面部署了各种应用,都是不同的端口。但是域名只能解析到80端口,而且如果你使用隐形URL转发的话,又需要另外加钱(TX的就是几百块一条....),这就很尴尬了。另一种显性URL又会直接301跳转,体验非常不好。这可如何是好呢?这就需要用到Nginx做反向代理了......
  • 【享元设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
    简介享元模式(FlyweightPattern),是一种结构型设计模式。主要用于减少创建对象的数量,以减少内存占用和提高性能。它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。当程序需要生成数量巨大的相似对象时,可能对内存有......
  • WebAssembly 助力云原生:APISIX 如何借助 Wasm 插件实现扩展功能?
    本文将介绍Wasm,以及ApacheAPISIX如何实现Wasm功能。作者朱欣欣,API7.ai技术工程师原文链接什么是WasmWasm是WebAssembly的缩写。WebAssembly/Wasm是一个基于堆栈的虚拟机设计的指令格式。在Wasm未出现之前,浏览器中只能支持运行Javascript语言。当Wasm出现......