JSP后台的分页与排序操作(终于开始更了)

前言

大家好!好久不见。今年因为许多事情导致后续都没有更新其他新的内容,这里说一声抱歉哦,最近会陆陆续续地加更,会在这里开一个我自己做的一个网站项目,网络方向的先放一放了··大家感兴趣的可以关注我呀!因为项目比较散乱,所以我先自己写完再整个项目后期编辑整理嗷。

分页与排序

今天的分页和排序主要是用数据结构的思路,对数据条目进行一定的分类管理,实现起来很简单的(因为我看到我写JavaScript方面的浏览量最多,那就先从这一整个项目开始更起吧··这其实是我的一个作业)

分页原理

分页功能主要是将数据库调用到的数据条目 size 来和项目所期望的分页数 PAGESIZE 进行划分(例一页尺寸为5行),然后在循环中通过进行 pageCount 计数来实现判断是否进行分页。然后通过超链接进行分页跳转。
curpage为当前页面数。在调用jdbc查询后得到数据条目,然后用条目数size与每页呈现几行数据进行取余,如果刚好能除尽,则表示当前页数就够存放这些数据了,页数等于直接取整就行,否则表示多开一页存放多出来的数据条目。
然后通过tmp获取当前页面值,如果请求页面值超出了页面数[1,n],则覆盖;
这里出现一个问题就是第一页的上一页按照算法应该是 pageCount 对自己取余,所以此时出现第 0 页,所以在使用 tmp 接受数据时进行一个数据处理。
if(tmp.equals(“0”)) tmp = “”+pageCount;
这样就可以实现把 0 页转成对应的页数。
通过循环队首指针方法解决上一页出现负数的问题:
采用循环队列的队首指针处理方式,通过
<%=(curPage-1+pageCount)%pageCount %>来进行上一页的页码计算,这样可以防止上一页出现负数的情况。对下一页改为+1也实现循环队列优化。

在这里插入图片描述

在这里插入图片描述

排序

排序功能。
点击"传感器 ID",按照传感器 ID、日期时间排序。
点击"日期时间",按照日期时间排序。
有"*"号标记提示按何种排序。

  • 实现排序功能主要是使用数据库查询语句进行实现。
  • 排序时运用到 order by 语句,首先它应该是放在 where
    的后面的,其次要实现多字段排序可以采用,分隔符进行连接,这样数据库会按照分隔顺序先后进行排序操作。
    在这里插入图片描述
    貌似没有什么好解释的原理···我直接贴代码了··主要就是order by的应用
    按传感器 ID、日期时间进行排序
    在这里插入图片描述
    在这里插入图片描述

要点

  1. 使用分页功能时,上一页可能会存在页码-1 页等情况,因此在输出的时候采用循环队列的方式进行输出,具体的上一页的 curPage
    页码为<%=(curPage-1+pageCount)%pageCount
    %>来实现;同样的,下一页也有类似的问题,因此采取相同的方式进行优化。
  2. 但是当分页的 curPage 取余后返回值是 0 时,在前面 tmp 接收传递过来的 curPage 进行一个判断,如果为 0
    时则当前页数为最大页数,if(tmp.equals(“0”)) tmp = “”+pageCount;
  3. 分页功能主要是将数据库调用到的数据条目 size 来和项目所期望的分页数 PAGESIZE
    进行划分,然后在循环中通过进行计数来实现判断是否进行分页。然后通过超链接进行分页跳转。
  4. 排序功能中主要是采用超链接到相应页面,然后在特定页面进行数据库查询 使用排序时运用到 order by 语句,首先它应该是放在
    where 的后面的,其次要实现多字段排序可以采用,分隔符进行连接,这样数据库会按照分隔顺序先后进行排序操作。

希望你万事都如意,如果有不对的地方评论留言欢迎指正,点个赞o~

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值