分页设计(平时在表下面的栏框,有首页 | 上一页 | 下一页 | 尾页),下面代码带你实现

        分页设计的本质就是,分页查询,就是SQL语句当中的(select * from ? limit ? , ?),这里第一个?是所分页的那张表 ,第二个?从哪条开始,第三个?是在页面上想让这张表出现几条数据。

        下面先看一下分页所需要的两个函数。1.查询所有表的数据 2.获取当前页数据

   /*** 查询表中所有数据,返回进行渲染*/public List<emp> selectAll(String sql) {ArrayList<emp> emps = new ArrayList<>();Connection conn = DbLink.getConn();try {PreparedStatement statement = conn.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {Integer id = resultSet.getInt("id");String name = resultSet.getString("name");String city = resultSet.getString("city");String country = resultSet.getString("country");emps.add(new emp(id, name, city, country));}} catch (SQLException e) {e.printStackTrace();}return emps;}/*** 获取当前页数据* @param start         偏移量* @param pageSize      规定每页的记录数* @return list         存放所有查询表当中的所有数据*/public List<emp> QueryRecords(int start,int pageSize){Connection conn = DbLink.getConn();ArrayList<emp> list = new ArrayList<>();String sql = "select * from emp limit ?,?";try {PreparedStatement statement = conn.prepareStatement(sql);statement.setInt(1,start);statement.setInt(2,pageSize);ResultSet resultSet = statement.executeQuery();while (resultSet.next()){emp emp = new emp();int id = resultSet.getInt("id");String name = resultSet.getString("name");String city = resultSet.getString("city");String country = resultSet.getString("country");emp.setId(id);emp.setName(name);emp.setCity(city);emp.setCountry(country);list.add(emp);}} catch (SQLException e) {e.printStackTrace();}return list;}

 下面我们看jsp代码,如何去实现

<%@ page import="Dao.handleDb" %>
<%@ page import="Pojo.emp" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>分页设计</title>
</head>
<body>
<%handleDb handleDb = new handleDb();//1.规定每页的记录数int pageSize = 3;//2.总的sql记录条数 countList<emp> emps = handleDb.selectAll("select * from emp");int count = emps.size();//页的数量//3.计算总页数int pageCount = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;//4.当前页Integer page1;if (request.getParameter("page1") == null) {page1 = 1;} else {page1 = Integer.valueOf(request.getParameter("page1"));}//sql=select * from emp limit start,pageSize;//5.计算偏移值int start = (page1 - 1) * pageSize;//6.获取当前页的数据List<emp> list = handleDb.QueryRecords(start, pageSize);
%>
<table cellspacing="0" border="1"><tr><th>id</th><th>姓名</th><th>城市</th><th>国家</th></tr><%for (int i = 0; i < list.size(); i++) {%><tr><td><%=list.get(i).getId()%></td><td><%=list.get(i).getName()%></td><td><%=list.get(i).getCity()%></td><td><%=list.get(i).getCountry()%></td></tr><%}%></table><%if (page1==1){%><a>首页</a><a>上一页</a><a href=showList1.jsp?page1=<%=page1 + 1%>>下一页</a><a href=showList1.jsp?page1=<%=pageCount%>>尾页</a><%}else if (page1 == pageCount){%><a href=showList1.jsp?page1=1>首页</a><a href=showList1.jsp?page1=<%=page1 - 1%>>上一页</a><a>下一页</a><a>尾页</a><%}else {%><a href=showList1.jsp?page1=1>首页</a><a href=showList1.jsp?page1=<%=page1 - 1%>>上一页</a><a href=showList1.jsp?page1=<%=page1 + 1%>>下一页</a><a href=showList1.jsp?page1=<%=pageCount%>>尾页</a><%}
%>
</body>
</html>

下面我面看下运行效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/266256.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

老师们居然这样把考试成绩发给家长

教育是一个复杂而多元的过程&#xff0c;其中考试成绩的发布和沟通是教育过程中的一个重要环节。然而&#xff0c;有些老师在发布考试成绩时&#xff0c;采取了一些不恰当的方式&#xff0c;给家长和学生带来了不必要的困扰和压力。本文将探讨老师们不应该采取的发布考试成绩的…

MSPM0L1306例程学习-ADC部分(1)

MSPM0L1306例程学习-ADC部分(1) MSPM0L1306例程学习 使用的TI的官方例程&#xff0c;即SDK里边包含的例程代码。 MCU使用的是MSPM0L1306, 对于ADC部分&#xff0c;有10个例程&#xff1a; 例程理解 ADC的转换有多种工作模式&#xff0c;从最简单的单通道单次转换开始入手…

远程控制如何赋能智能制造?贝锐向日葵制造业场景案例解析

随着数字化转型在制造业的不断深入&#xff0c;企业在产线端也逐渐投入更多智能化设备&#xff0c;数字化、智能化设备其中一个比较显著的优势就是可以依托互联网实现远程运维和调试&#xff0c;大大提升产线设备的稳定性和工作效率&#xff1b;而远程调试运维一个重要的实现方…

Spring Cache【娓娓道来】

目录​​​​​​​ 1.自我介好&#x1f633;&#x1f633;&#x1f633; 2.常用注解 &#x1f495;&#x1f495;&#x1f495; 3.EnableCaching&#x1f926;‍♂️&#x1f926;‍♂️&#x1f926;‍♂️ 4.CachePut&#x1f937;‍♀️&#x1f937;‍♀️&#x1f93…

.9.png编译报错

android项目中使用9-patch图编译报错&#xff1a;AAPT: error: file failed to compile. 原因是因为.9.png图中有线之间断开或者黑点的存在&#xff0c;把线连上或者把黑点去掉就可以了。如下&#xff1a;

云降水物理基础

云降水物理基础 云的分类 相对湿度变化方程 由相对湿度的定义&#xff0c;两边取对数之后可以推出 联立克劳修斯-克拉佩龙方程&#xff08;L和R都为常数&#xff09; 由右式看出&#xff0c;增加相对湿度的方式&#xff1a;增加水汽&#xff08;de增大&#xff09;和降低…

Linux系统vim,gcc,g++工具使用及环境配置,动静态库的概念及使用

Linux系统vim&#xff0c;gcc&#xff0c;g工具使用及环境配置&#xff0c;动静态库的概念及使用 1. Linux编辑器-vim的使用1.1 vim的基本概念1.2vim的基本操作1.3vim正常模式命令集1.4vim末端模式命令集1.5简单的vim配置 2.Linux编译器-gcc/g的使用2.1 准备阶段2.2gcc的使用2.…

【人工智能 | 知识表示】问题规约法 谓词/符号逻辑,良好的知识表示是解题的关键!(笔记总结系列)

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

PbootCMS 前台RCE漏洞复现

0x01 产品简介 PbootCMS是全新内核且永久开源免费的PHP企业网站开发建设管理系统,是一套高效、简洁、 强悍的可免费商用的PHP CMS源码,能够满足各类企业网站开发建设的需要 0x02 漏洞概述 PbootCMS v<=3.1.6版本中存在模板注入,攻击者可构造特定的链接利用该漏洞,执行…

每日一题,头歌平台c语言题目

任务描述 题目描述:输入一个字符串&#xff0c;输出反序后的字符串。 相关知识&#xff08;略&#xff09; 编程要求 请仔细阅读右侧代码&#xff0c;结合相关知识&#xff0c;在Begin-End区域内进行代码补充。 输入 一行字符 输出 逆序后的字符串 测试说明 样例输入&…

【conda】利用Conda创建虚拟环境,Pytorch各版本安装教程(Ubuntu)

TOC conda 系列&#xff1a; 1. conda指令教程 2. 利用Conda创建虚拟环境&#xff0c;安装Pytorch各版本教程(Ubuntu) 1. 利用Conda创建虚拟环境 nolonolo:~/sun/SplaTAM$ conda create -n splatam python3.10查看结果&#xff1a; (splatam) nolonolo:~/sun/SplaTAM$ cond…

蜂窝、无线设备应用 HXG-242+、PVGA-123+、PMA-5452+、PSA-39+、PSA-14+射频放大器(IC器件)

1、HXG-242 射频放大器 IC 无线 LAN&#xff0c;LTE 700MHz 至 2.4GHz&#xff0c;6-SMD 模块 HXG-242&#xff08;符合RoHS规范&#xff09;是一款先进的放大器模块&#xff0c;结合了高动态范围MMIC技术和优化电路&#xff0c;可在聚焦频率范围内提供业界领先的线性度。它采…