一个分页小技术有时也是让人挠头,在这里完全前端实现方式与Java的实现方式,我们提供给你完全的编码参考,希望能够帮到你哦(:)

  • 内容导读

1.程序结构

2.JSP页面设计

3.分页主要编码

4.运行效果图

说明:

(1)开发工具为MyEclipse或Eclipse;运行程序需要创建库文件及相应的表,请参照源码设计;启动tomcat运行程序实现动态分页效果

(2)加QQ群:657540173免费下载源码

一.程序结构

项目虽小,也是三层架构设计哦!!!

 

二.JSP页面设计 

1.index.jsp文件

<%@ page language=“java” contentType=“text/html; charset=utf-8”

pageEncoding=“utf-8”%>

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>

<html>

<head>

<meta http-equiv=“Content-Type” content=“text/html; charset=utf-8”>

<title>信息管理系统</title>

<link rel=“stylesheet” type=“text/css” href=“css/index.css”

rel=“external nofollow”>

</head>

<body>

<h2>信息分页查询</h2>

<!– align=”right” –>

<div class=“wrap”>

<table class=“tab” border=“2”>

<tr>

<th>学号</th>

<th>姓名</th>

<th>成绩</th>

</tr>

<c:forEach items=${pg.list} var=“stu”>

<tr>

<td><c:out value=${stu.sid} /></td>

<td><c:out value=${stu.sname} /></td>

<td><c:out value=${stu.score} /></td>

</tr>

</c:forEach>

</table>

</div>

<!– 按钮样式 –>

<div class=“set”>

第<span id=“currentPage”>${pg.currentPage}</span>页 共<span

id=“totalPage”> ${pg.totalPage} </span> <a

href=“index?currentPage=${0}>首页</a>  <a

href=“index?currentPage=${pg.currentPage-1}>上一页</a>  <a

href=“index?currentPage=${pg.currentPage+1}>下一页</a>  <a

href=“index?currentPage=${pg.totalPage}>尾页</a>转到第:<input id=“jump”

type=“text” /> <input id=“go” type=“button” value=“GO” />

</div>

</body>

<script type=“text/javascript” src=“js/index.js”></script>

</html>

2.play.jsp文件

<%@ page language=“java” contentType=“text/html; charset=utf-8”

pageEncoding=“utf-8”%>

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>

<html>

<head>

<meta http-equiv=“Content-Type” content=“text/html; charset=utf-8”>

<title>信息查询系统</title>

</head>

<body>

<jsp:forward page=“index”></jsp:forward>

</body>

</html>

三.分页主要编码

import java.util.List;

/**

* @ClassName: Pagination    

* @Description: TODO()  

* @author 超客学堂chaoke.ke.qq.com

* @date 2019年2月18日 下午5:20:30  

* @version V1.0

 */

public class Pagination<T> {// 使用泛型是为了复用

// 当前页号

private int currentPage;

// 总页号或总页数

private int totalPage;

// 每页记录数或行数

private int limitRows;

// 总的记录数或行数

private int totalRows;

// 每页开始的记录号

private int startRecord;

// 每页结束的记录号,这个没用,只需每页记录行数limitRows即可

// //private int endRecord;

// 存每页中的记录

private List<T> list;

 

// //初始化操作

public void init() {

// //1.求总页数,通过总记录数与每页行数来计算,有几种情况

// (1)不够一页(2)有零头(3)刚好是整数页

int tp = totalRows / limitRows;

if (totalRows > limitRows) {

totalPage = (totalRows % limitRows) == 0 ? tp : tp + 1;

} else {

totalPage = 1;

}

// //2.将当页保留在第一页或最后一页

if (currentPage > totalPage) {

currentPage = totalPage;

} else if (currentPage < 1) {

currentPage = 1;

}

// //3.初始化开始记录数,mysql应用的limit它不包括开始记录,所以不要加1;

// 还有limit传入的是开始记录号与查询的条数,此处是每页可显示数limitRows,

// 如果查到最后没有limitRows限制的行数,则显示剩余部分

this.startRecord = (currentPage – 1) * limitRows;

}

// /无参构造,便于使用

public Pagination() {  }

// ///当前页号,总记录数,每页行数;这些属性需要传入后初始化,其它的可以set设置

public Pagination(int currentPage, int totalRows, int limitRows) {

this.currentPage = currentPage;

this.totalRows = totalRows;

this.limitRows = limitRows;

}

// ///////get与set方法///////////

public int getCurrentPage() {

return currentPage;

}

public void setCurrentPage(int currentPage) {

this.currentPage = currentPage;

}

public int getTotalPage() {

return totalPage;

}

public void setTotalPage(int totalPage) {

this.totalPage = totalPage;

}

public int getLimitRows() {

return limitRows;

}

public void setLimitRows(int limitRows) {

this.limitRows = limitRows;

}

public int getTotalRows() {

return totalRows;

}

public void setTotalRows(int totalRows) {

this.totalRows = totalRows;

}

public int getStartRecord() {

return startRecord;

}

public void setStartRecord(int startRecord) {

this.startRecord = startRecord;

}

public List<T> getList() {

return list;

}

public void setList(List<T> list) {

this.list = list;

 }

}

四.运行效果图

 

 

 

 

 

版权声明:本文为chaoke原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chaoke/p/11281069.html