JSP---分页

1、建立java类

public class StudentManage {
 int pageSize = 3;//每页记录数

//获取记录总数
private int getTotalNum(String strWhere) throws SQLException {
DbAccess dbAccess = new DbAccess();
int total = 0;
String sql = "select count(*) from student where 1=1 and " + strWhere;
dbAccess.excuteQuery(sql);
ResultSet rs = dbAccess.getRs();
if (rs.next()) {
 total = rs.getInt(1);
}
dbAccess.close();
return total;
}

//获取总页数(即最大的页号)
public int getMaxPageNo(String strWhere) throws SQLException {
int maxPageNo;
if(getTotalNum(strWhere)%pageSize==0)
 maxPageNo=getTotalNum(strWhere)/pageSize;
else {
 maxPageNo=getTotalNum(strWhere)/pageSize+1;
}
return maxPageNo;
}

// 获取指定页的记录
public List<Student> StudList(String strWhere, int page)
throws SQLException {
DbAccess dbAccess = new DbAccess();
List<Student> list = new ArrayList<Student>();
int total=getTotalNum(strWhere);
String sql = "select * from student where 1=1 and " + strWhere;
dbAccess.excuteQuery(sql);
ResultSet rs = dbAccess.getRs();
int t = (page - 1) * pageSize + 1;//当前页的首记录号
if (t <= total) {
 rs.absolute(t);//需要修改DAL层 st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
 do {
  Student student = new Student();
  student.setStud_id(rs.getString("stud_id"));
  student.setStud_name(rs.getString("stud_name"));
  student.setStud_sex(rs.getString("stud_sex"));
  student.setStud_class(rs.getString("stud_class"));
  student.setStud_fav(rs.getString("stud_fav"));
  list.add(student);
  } while (rs.next() && list.size() < pageSize);
 rs.close();
 }
 dbAccess.close();
 return list;
}

2、jsp页面调用

<%
String curPage = request.getParameter("curPage");
if (curPage == null || curPage == "") {
 curPage = "1";
}
int cp = Integer.parseInt(curPage);
StudentManage studentManage = new StudentManage();
int lastPage = studentManage.getMaxPageNo("1=1");
List<Student> list = studentManage.StudList("1=1", cp);
%>

当前第<%=cp%>/<%=lastPage%>页

<%
if (cp > 1) {
%>
<a href="?curPage=1">第一页</a>&nbsp;
<a href="?curPage=<%=cp - 1%>">上一页</a>
<%
}
%>
<%
if (cp < lastPage) {
%>
<a href="?curPage=<%=cp + 1%>">下一页</a>&nbsp;
<a href="?curPage=<%=lastPage%>">最后一页</a>
<%
}
%>

JSP---分页

时间: 2024-12-10 04:20:40

JSP---分页的相关文章

眼下最好的JSP分页技术

2005-08-24   来源:CSDN  作者:wanchao2001 前言     在使用数据库的过程中,不可避免的须要使用到分页的功能,但是JDBC的规范对此却没有非常好的解决.对于这个需求非常多朋友都有自己的解决方式,比方使用 Vector等集合类先保存取出的数据再分页.但这样的方法的可用性非常差,与JDBC本身的接口全然不同,对不同类型的字段的支持也不好.这里提供了一种与 JDBC兼容性非常好的方案.   JDBC和分页 Sun的JDBC规范的制定,有时非常让人哭笑不得,在JDBC1.

JSP分页显示实例(基于Bootstrap)

首先介绍一款简单利落的分页利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-paginator 备用下载地址:http://files.cnblogs.com/files/Dreamer-1/bootstrap-paginator-master.rar 下面就来详细介绍一下基于这款分页利器的JSP分页显示实现过程(注:相较于原网页我隐去了很多不必要的内容,本例只专注于分页显示的实现) 一:

JSP 分页代码

jsp 分页模板 后台分页代码: 说明: 在 com.zc.domain 包下: PageBean.java 文件 package cn.itcast.customer.domain; ? import java.util.List; ? /** * * @author not-bug * @function: 这是用于分页的PageBean 对象 * @instructions: 这是按照面向对象的思想,进行的分页处理的操作 用泛型主要是为了提高代码的可重用性. * 分页中的每一条记录都是一个

Oracle数据库JSP分页

创建表 create table t_user( username varchar(20), password varchar(20)); insert into t_user values('aa','aa'); 导入jdbc驱动 e:\oracle\product\10.1.0\Db_3\jdbc\lib\ojdbc14.jar 创建DB类,内容如下: package util; import java.sql.Connection; import java.sql.DriverManage

jsp分页技术

如果一张表的数据有非常多,页面就需要分页展示,但一次性从数据库中读取全部的数据会给服务器带来巨大压力.jsp分页技术的设计思想来源于"select * from employee limit ?,?"这条sql语句,第一个"?"指查询的起始位置,第二个"?"代表偏移量.页面需要展示多少数据,每次就从服务器读取多少数据,大大减轻了服务器的压力.下面开始实现一个javaweb的demo帮助大家更好的理解. 一.准备工作: MySQL中创建一张用例表

jsp分页代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 分页导航开始 -->                       第${page.pageNum}

Jsp分页实例---真分页

网页的分页功能的实现比较简单,实现方法也多种多样. 今天总结一个简单的Jsp真分页实例. 首先,提到分页就要先明确一个概念,何为真分页何谓假分页. 假分页:一次性从数据库读出表的所有数据一次性的返回给客户端,由js来控制每一页的显示. 真分页:由程序控制,每一次只返回一页大小的数据,显示到客户端. 由此可以很清楚的分辨出真假分页各自的优缺点: 假分页:由于一次性读出所有数据并返回给客户端,如果数据量庞大,所以这一次的动作可能是非常消耗服务器资源和带宽的, 但是返回给客户端以后就非常轻松了,客户在

JSP分页(MySql+c3p0+dbutils)

为什么要对数据进行分页?当数据较多时,页面就会变的很庞大,不仅会影响到用户的使用,而且还有加重服务器的负担.下面简单的实现了数据的分页. 第一步:导入相应的jar包 需要导入c3p0,dbutils,mysql驱动等jar包. 第二步:创建数据库和表, 配置c3p0, 创建工具类,User类 创建数据库,并准备测试数据(可以自行生成) create database contacts; use contacts; create table users( id varchar(32), usern

hibernate+struts2+jsp分页

Hibernate分页查询代码         /**  * 分页查询  */ public List<Ptuser> fenye(int pagenum,int num_one) { //获得session Session session = hibernateTemplate.getSessionFactory().openSession(); //开启事务 session.beginTransaction(); String str = "from ptuser";

jsp分页小结

分页标签:对于分页,我整理了3个版本.1.0是直接在jsp页面写分页内容:2.0利用自定义分页标签:3.0利用自定义分页标签并打成jar包 1.0分页技术 a.编写dao层分页跳转类(包括分页标签实体类): b.编写action层分页控制类: c.编写js和html前端代码: 2.0自定义标签 (传统标签) a.开发标签处理类 b.编写标签描述符文件(*.tld) c.在页面通过taglib引用标签 3.0自定义标签 (打成jar包) a.新建一个web工程(必须是web工程,因为*.tld文件