`
iihero
  • 浏览: 262831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单的整理了一下分页,希望对初学者有帮助

阅读更多

准备工作:
在Oracle下,建立一张表:
CREATE TABLE mytable(id int, name varchar(32))
/

往表mytable里插入一些值。

testpage.jsp页面程序如下:

<!--
简单的分页示例,demo
-->
<%@page import="java.util.*"%>
<%@page import="java.lang.*"%>
<%@page import="java.io.*"%>
<%@page import="java.sql.*"%>
<%@page import="java.net.*"%>
<%@page contentType="text/html;charset=GBK" %>

<%
String sConn="jdbc:oracle:thin:@host:1521:orcl";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection(sConn,"user","password");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//Statement stmtcount=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

ResultSet rs=stmt.executeQuery("select * from mytable");
//String sqlcount="select count(*) from mytable";
//ResultSet rscount=stmtcount.executeQuery(sqlcount);

int pageSize=5; //每页5条
int rowCount=0; //总的记录数

rs.last();
rowCount = rs.getRow();


int pageCount; //总的页数
int currPage = 0; //当前页数
String strPage;
strPage=request.getParameter("page");


if (strPage==null){
currPage=1;
}
else{
currPage=Integer.parseInt(strPage);
if (currPage<1) currPage=1;
}
pageCount=(rowCount+pageSize-1)/pageSize;
if (currPage>pageCount) currPage=pageCount;

int thepage=(currPage-1)*pageSize;
int n=0;

%>


当前为第:<%=currPage%>页<p>

<a href="testpage.jsp?page=1">首 页</a> 

<%
if (currPage>1){
%>
<a href="testpage.jsp?page=<%=currPage-1%>">上一页</a>  
<%
}
%>
<%
if (currPage<pageCount){
%>
<a href="testpage.jsp?page=<%=currPage+1%>">下一页</a>  
<%
}
%>
<a href="testpage.jsp?page=<%=pageCount%>">尾 页</a><p><br><hr>
共<%=rowCount%>条记录 页次:<%=currPage%>/<%=pageCount%>页 <%=pageSize%>条/页

<table width="80%">
<%
if (currPage>0){
rs.absolute(thepage+1);
while (n<pageSize && !rs.isAfterLast()){
out.println("<tr><td>");
out.println(rs.getInt(1)+"</td><td>");
out.println(rs.getString(2)+"</td></tr>");
rs.next();
++n;
}

}
%>


<%
rs.close();
//rscount.close();
stmt.close();
//stmtcount.close();
conn.close();
%>

//偶在Oracle8.1.6上测试,结果能显示出来,但是name字段值给的好像是16进制字节串。但在Oracle8.1.7以后都没问题。可能是jdbc的支持程度不一样。

分享到:
评论

相关推荐

    epos 教学操作系统

    操作系统是计算机科学的基础组成部分,它管理着计算机的硬件资源,并为用户提供友好的接口,使得用户可以方便...无论是对操作系统感兴趣的初学者,还是希望进一步提升技能的开发者,EPOS都是一个非常有价值的教育资源。

    杜老师MySQL基础对应资料

    同时,对于那些已经有一定基础的开发者来说,这份资料也可以帮助他们回顾和加深对MySQL的理解,为更深层次的应用打下坚实的基础。无论您是数据库技术的学习者,还是希望提高自身技能的开发者,这份资料都是一份...

    新 编 留 言 本 教 程(1)

    - **教程目的**:专门为ASP初学者设计,通过一个简单的留言板实例,帮助学习者逐步理解ASP的基本概念和技术要点。 #### 二、教程主要内容概述 - **功能简介**:该教程中的留言板具备基本的留言、修改、删除和回复...

    自己动手写操作系统(含源代码).part2

    因为它翔实地介绍了初学者入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的,笔者本人是把这本书作为写操作系统的主要参考书籍之一,所以在本书中对它多有借鉴。 你需要什么技术...

    自己动手写操作系统(含源代码).part1

    因为它翔实地介绍了初学者入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的,笔者本人是把这本书作为写操作系统的主要参考书籍之一,所以在本书中对它多有借鉴。 你需要什么技术...

    python-movie-catalog-generator:扫描您的电影目录并使用 IMDB.com 信息生成 html 摘要页面的 Python 脚本

    这个项目对于电影爱好者或有大量数字电影收藏的人来说非常实用,它能帮助整理和展示电影收藏,同时也展示了Python在数据爬取和文件处理方面的强大能力。此外,对于Python初学者,这个项目也是一个很好的实践案例,...

    Linux必学的60个命令v1.0.1.pdf

    这个名为"Linux必学的60个命令v1.0.1.pdf"的文档,很可能是对初学者或希望深化Linux技能的人员的一份实用指南。下面将详细介绍这60个命令中可能涵盖的一些关键知识点。 1. **ls**:列出目录内容,帮助用户查看当前...

    SQL Sever文档+工具+视频下载地址汇总

    - **知识点**: 适合初学者的 SQL 教程,内容简单易懂。 - **链接**: [http://down.51cto.com/data/62726](http://down.51cto.com/data/62726) - **SQL Server 菜鸟入手教程** - **知识点**: 针对 SQL Server ...

    Linux系统基本命令

    ### Linux系统基本命令知识点 #### 一、系统信息与配置 **标题:** Linux系统基本命令 **描述:** 本篇文章将详细介绍一系列Linux系统的基本命令及其用途,旨在为初学者提供一个快速入门...希望本文能对你有所帮助!

Global site tag (gtag.js) - Google Analytics