jsp 中实现分页的类模板

学生信息增删查改 效果截图:Student.java实体类:自动生成get,set方法,带参构造方法。package com.ltt.model; public class Student { public static final int PAGE_SIZE=3; //每页显示记录数 private String id; //学号 private String name; //姓名 private i... 阅读详情

Page 类的代码如下:

package utils;

import java.util.ArrayList;
import java.util.List;
//分页类:对任何实体类的分页信息都能封装到这个bean中。
public class Page<T> {//T代表任意类型。
	/***
	 * 当前页码,从客户端得到或手工设定
	 */
    private Integer currentPage;
	/***
	 * 总页码,从客户端得到或计算得到
	 */
    private Integer totalPage;
	/***
	 * 总记录条数,从数据库查询得到
	 */
    private Integer count;
	/***
	 * 一页中显示的详细信息的集合,从数据库查询得到
	 */
    private List<T> pageList = new ArrayList<T>();
	/***
	 * 每页的数据条数,从客户端得到或计算得到
	 */
    private Integer pageSize;
	public Page() {
		super();
	}
	public Page(Integer currentPage, Integer count,
			List<T> pageList, Integer pageSize) {
		super();
		this.currentPage = currentPage;
		this.count = count;
		this.pageList = pageList;
		this.pageSize = pageSize;
	}
	public Integer getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(Integer currentPage) {
		this.currentPage = currentPage;
	}
	public Integer getTotalPage() {
		if(count%pageSize==0){
			totalPage = count/pageSize;
		}else{
			totalPage = count/pageSize+1;
		}
		return totalPage;
	}
	public Integer getCount() {
		return count;
	}
	public void setCount(Integer count) {
		this.count = count;
	}
	public List<T> getPageList() {
		return pageList;
	}
	public void setPageList(List<T> pageList) {
		this.pageList = pageList;
	}
	public Integer getPageSize() {
		return pageSize;
	}
	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}

}

运用如下:

假如要分页显示用户信息,用户类如下:

package com.yibin.cn.dao.entity;

import java.util.Date;

public class User implements java.io.Serializable{
	private Integer id;
	private String name;
	private String password;
	private String sex;
	private Date birthday;
	private String address;
	private String picturePath;

	public User() {
		super();
		// TODO Auto-generated constructor stub
	}

	public User(Integer id, String name, String password, String sex,
			Date birthday, String address, String picturePath) {
		super();
		this.id = id;
		this.name = name;
		this.password = password;
		this.sex = sex;
		this.birthday = birthday;
		this.address = address;
		this.picturePath = picturePath;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getPicturePath() {
		return picturePath;
	}

	public void setPicturePath(String picturePath) {
		this.picturePath = picturePath;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", password=" + password
				+ ", sex=" + sex + ", birthday=" + birthday + ", address="
				+ address + ", picturePath=" + picturePath + "]";
	}

}


	/***
	 * 查询某一页的详细数据
	 * @param currentPage 要查询的页码
	 * @param pageSize  每页记录数
	 * @return 成功则返回一页详细数据的集合,失败则返回空(null)
	 */
	public List<User> getOnePageInfo(int currentPage,int pageSize){
		if(currentPage<1) {
			System.out.println("注意页码是从1开始的!");
			return null;
		}
		if(pageSize<1) {
			System.out.println("注意每页显示条数是从1开始的!");
			return null;
		}
		List<User> users = new ArrayList<User>();
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet res = null;
//sqlPageInfo:SELECT id,`sex`,`name`,`birthday`,`password`,`address`,`picture_path` FROM `user` LIMIT (currentPage-1)*pageSize,pageSize.		
//sqlPageInfo:SELECT id,`sex`,`name`,`birthday`,`password`,`address`,`picture_path` FROM `user` LIMIT 1,2.		
        String sqlPageInfo = "SELECT id,`sex`,`name`,`birthday`,`password`,`address`,`picture_path` FROM `user` LIMIT ?,?";
		try {
			conn = jdbcUtil.getConnection();
			ps = conn.prepareStatement(sqlPageInfo);
			ps.setObject(1, (currentPage-1)*pageSize);
			ps.setObject(2, pageSize);
			res = ps.executeQuery();
			while(res.next()){
				User user = new User();
				user.setId(res.getInt("id"));
				user.setName(res.getString("name"));
				user.setPassword(res.getString("password"));
				user.setSex(res.getString("sex"));
				user.setBirthday(res.getDate("birthday"));
				user.setAddress(res.getString("address"));
				user.setPicturePath(res.getString("picture_path"));
			    users.add(user);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			jdbcUtil.closeAll(conn, ps, res);
		}
        return users;
	}
	
	/***
	 * 方法功能说明:把一页的全部信息都封装起来
	 * @param currentPage 要查询的页码
	 * @param pageSize  每页记录数
	 * @return
	 */
	    public Page<User> getPage(int currentPage,int pageSize){
	    	int count = this.getCount();
	    	List<User> pageList = this.getOnePageInfo(currentPage, pageSize);
	    	return new Page<User>(currentPage, count, pageList, pageSize);
	    }








多款比较经典的jsp分页样式 多款比较经典的jsp分页样式,内附图片,仅供参考 立即下载

相关推荐

jsp 实现数据库数据分页显示

只要通过JDBC连接上数据库 获得Connection 对象 套上此模板就可实现数据库数据分页机制……

三、使用基页面类、模板页及用户控件

    何为“基页面类”?就是指创建一个类继承自System.Web.UI.Page,然后让项目中的所有.aspx页的类继承它,那么它就是基页面类。     使用基页面类的好处: 可以提供所有.aspx页适用的属性、方法,方便的实现一些功能,如:页面访问计数、更改页面Culture、实现自动登入功能等     使用模板页的好处: 设计良好的模板页可以让网站轻松实现更换皮肤(Skin

学习 1325

jsp分页显示

这个项目详细的介绍了分页显示的功能,包括分页显示中的上一页,下一页,首页,尾页,以及按照文本框输入内容跳转到指向的页面

模板类的实现语法

一、定义一个模板类声明 template class Complex; template Complex MySub(Complex a, Complex b); template class Complex { friend Complex MySub(Complex a, Complex b); friend ostream& operator(ostream &out, const

tyq101010的博客 1084

jsp分页的通用模块

使用了struts标签,jquery技术提取的分页通用模块。后缀为.jsp

R语言实战:5分钟搞定GEO单细胞数据(scRNA-seq)下载与整理(附完整代码)

本文详细介绍了如何使用R语言快速下载和整理GEO单细胞数据(scRNA-seq),提供完整的自动化处理代码。从环境准备、数据获取到文件整理和质量检查,涵盖10X Genomics标准格式及非标准数据的处理技巧,帮助生物信息学研究者高效完成数据预处理工作。

weixin_29054399的博客 601

06模板学习之模板类的实现(包含如何实现模板类的分离)

06模板学习之模板类的实现 概述: 使用过模板编写的人都知道,当我们将一个模板类声明在.h,实现在.cpp后,然后在另一个.cpp文件中调用(一般在main.cpp),编译的时候会报错,为什么呢,留着下面解答。 类似错误如下: 1 代码如下 1)模板的.h文件 #pragma once #include<iostream> using namespace std; template<class T> class Person{ public: Person(T age);

weixin_44517656的博客 762

YOLOv10注意力革新:小波域注意力(WDA)如何实现多尺度特征精准聚焦

本文深入解析YOLOv10中的小波域注意力(WDA)机制,探讨其如何通过频域分解与动态聚焦实现多尺度特征精准提取。WDA模块结合离散小波变换与注意力机制,显著提升小目标检测性能,在VisDrone数据集上AP提升达12.6%。文章详细介绍了两种集成方案及代码实现,为计算机视觉开发者提供实用指南。

weixin_29079671的博客 252

使用模板来实现页面

模板其实就是一个(缺失了一些关键信息)的html页面,我使用的是Thymeleaf模板 使用模板的步骤:(1)先去编写html页面,使用thymeleaf中的一些(特殊标记符号,也就是占位符,比如th:each,th:text="${}",把这个html页面中的关键数据进行占位 (2)在Servlet代码中获取到这些关键数据,再通过thymeleaf把这些关键性数据替换到Html页面中的特殊标记符号,也就是占位符中 (3)而在对关键性数据进行替换之前,要先对thymeleaf模板进行初始化 初始

qq_55996124的博客 288

企业级防火墙实战:用深信服AF8.0打造安全办公网络(含流控/僵尸防护配置)

本文详细介绍了如何利用深信服AF8.0防火墙构建企业级安全办公网络,涵盖设备初始化、多接入方式配置、三维一体安全防护体系(包括应用控制、僵尸防护和智能流控)以及典型问题排查。通过实战案例和配置模板,帮助IT管理员高效部署和优化网络安全管理,提升企业网络安全防护能力。

weixin_28716443的博客 281

工业视觉检测实战指南:从硬件配置到AI算法部署

本文提供了一套完整的工业视觉检测系统搭建实战指南。从硬件选型(相机、光源、镜头、工控机)到AI算法(深度学习模型)部署,详细解析了如何为生产线配置一双“会思考的眼睛”。重点探讨了深度学习算法在复杂缺陷识别中的应用,并分享了模型训练、优化及云边协同部署的实战心得,旨在帮助工程师实现从实验室Demo到7x24小时稳定运行的工业落地。

weixin_29051193的博客 457

ASP.NET中实现模板页

使用过JavaStruts的程序员应该知道,Struts中有一个模板标记,虽然其使用起来比较复杂,但对于有大量页面的程序来说其带来了很多方便。但是,在ASP.NET中并没有现成实现可用,这方面国内讨论的也很少,其实,重写sender方法我们也可以实现类似的功能。下面是我项目中使用的一个基类模板类。 1using System; 2using System.Web.UI; 3 4namespace

zgqtxwd的专栏 409

保姆级教程:如何将仅限客户端使用的免费大模型(Gemini、Antigravity、Qwen Code、Kiro 等)转为任何应用可调用的 OpenAI 兼容标准接口

大模型 API 费用太贵?💸 这篇文章分享一个薅羊毛神器,能把 Gemini、Qwen Code、Kiro 等客户端专属的免费大模型转换成标准 OpenAI 兼容接口 🔌。支持多协议互转、账户池管理、Web 管理界面,Docker 一键部署,零成本调用 Claude Opus 4.5、Gemini 3 Pro 等高级模型 ✅

XiaoqiangClub的博客 1034

Java Servlet 开发常用代码、模板、问题

一 空Servlet类模板 import java.io.IOException; mport java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest

bcbobo21cn的专栏 2389

Python爬虫实战:使用Scrapy+Playwright高效爬取全球专利数据库

本文将详细介绍如何使用Python最新技术栈(Scrapy+Playwright)构建一个高效的专利数据库爬虫系统。我们将从爬虫基础知识讲起,逐步深入到反爬应对策略、分布式爬虫架构以及数据存储方案,最终实现一个完整的专利数据采集系统。专利数据是技术创新领域的重要信息资源,包含技术描述、权利要求、申请人信息等宝贵数据。中国国家知识产权局(CNIPA)美国专利商标局(USPTO)欧洲专利局(EPO)世界知识产权组织(WIPO)

2201_76125261的博客 1382

《手把手教你YOLOv9实战》,改进专栏目录

为了提供友好的操作效果,本专栏将会手把手搭建可视化界面,我将用PyQt5 搭建一个可视化界面,可视化界面能够实现基本的图像加载与检测功能,如支持视频、摄像头,还支持更换不同的 YOLOv9 模型,并适应不同领域(如口罩检测系统、人脸检测系统、工业缺陷检测系统等),界面灵活、功能强大。通过YOLOv9加以改进设计,形成新的算法框架,一起水科研和论文,专栏会一直持续更新中,本专栏适合目标检测、分割、分类。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2154

asp.net模板页实现类似jquery中document.ready

模板页先判断是否有方法DocumentReady,有的话就调用 1、模板页 <script type="text/javascript" language="javascript"> function DocumentLoad() { if (typeof (DocumentReady) == "function") {...

weixin_33794672的博客 134

11、基于STM32的智能药盒

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。嵌入式具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

行走的皮卡丘 6102

JSP自定义通用分页详解

在实际javaweb项目开发过程中,由于需要展示的数据很多我们常常要用到分页功能,特别是针对不同数据表的分页,我们需要写许多重复的代码,所有我们设计一个通用分页功能,该方法能对象不同数据表进行分页,从而简化代码,提高开发效率。这里只编写一个实体进行测试,JUnit是一个Java编程语言的单元测试框架。它提供了一组注解和断言方法来编写和运行单元测试。

让优秀成为一种习惯! 2548

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【thymeleaf】分页代码

效果 调用分页模板 &lt;div class="pager th:replace="base :: page_pager(1, -1, 12, @{/c})"&gt; &lt;/div&gt; &lt;div class="pager th:replace="base :: page_pager(${page.number+1}, -1, ${page.totalPages},...

sayyy的专栏 7712

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jsp分页的常用写法

这里运用mvc格式去写分页,期间会用到jstl标签,c3p0连接池,jdbc数据库连接,tomcat服务器,以及可以先把包导入到项目中,具体的导包过程可以百度。 接下来我们把mvc格式先写出来,创建包和类 第一步: m层:model模型,主要是功能类:分为dao层和service层。 dao层主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,再分为实现包和封装包:如下: service层主要负责业务模块的应用逻辑应用设计。同样是首先设计接口,再设计

weixin_47045960的博客 895

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

jsp分页

后台第一步创建分页类pagebean 代码如下: package unity; public class PageBean { private int countPage = 8; // 多少条记录进行分页 private int countRecords; // 记录总数 public static int totalPage; // 总页数

BrouseLi的博客 542

前后端分离,通用分页js处理模板

jquery-3.7.0随便下载一个就可以。

多思考思考 558

JSP分页写法

这个if语句保证了页数的跳转,当浏览器的页数为空时,说明我们并没有点击页数的变换,那就是第一页。当用户点击下一页时,也数就上传到了浏览器,这样我们就能抓取浏览器的数字从而实现页数的跳转。当在首页或者尾页时,相应的按钮就被写成了普通的<span>链接,也就是没法点击。分页的写法只要写好两部分,一部分是当前页面的展示;另一部分是下一页面的展示。跳转按钮应该和上面的if语句搭配着看,这样我们就得到了能分页的界面。对于每页放多少数据,这个方法可以保证每页数据按顺序一页一页展示。这样我们就能保证当前页面的数据内容。

daibadetianshi的博客 569

Jsp刷新分页模板,很全

1.用来实现上一页下一页,我直接写到查询页面上 <%--page的分页--%> <style type="text/css"> a { color: #555555; text-decoration: none; ...

Qgee2013的博客 280

JSP分页

页面pagelistDemo.jsp内容:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><% //连接字符串 String url = "jdbc:sqlserver://" + Globals.Server...

weixin_30413739的博客 71
上一篇: 在servlet 中使用 request.getSession().getServletContext().getRealPath("upload/" ); 获取不到 tomcat 服务器目录
下一篇: 利用 JSP 中的反射机制封装一个 Servlet ,就不用每张表的每个方法都写一个 Servlet
yibin94
博客等级 码龄11年 78粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值