你可以参考以下<%
int p.recordCount=0;//总记录数
int p.pageSize=16;//每页显示数量
int p.pageCount=0;//总页数
int p.pageId=1;//当前页号
String getPageId =request.getParameter("pageId");sql="select * from tb_soft";
sqlnum="select count(*) from tb_soft";if (getPageId==null) getPageId ="1";
int count=1;
//取得待显示页码
String strPage = request.getParameter("pageId");
if(strPage==null) p.pageId = 1;
else p.pageId = java.lang.Integer.parseInt(strPage);
p.recordCount= op.rowsCount(sqlnum); //记算总页数
p.pageCount = (p.recordCount+p.pageSize-1) / p.pageSize;
//调整待显示的页码
if(p.pageId>p.recordCount) p.pageId = p.recordCount;
if(p.recordCount>0){
rs=op.getdb(p.pageSize,p.pageId,sql);
while(rs.next()&&count<=p.pageSize){
count++; %>
<tr>
<td width="17"><div align="center"><img src="../img/0051.gif" width="10" height="10"></div></td>
<td width="437" height="25"><a href="list.jsp?id=<%=rs.getString("id")%>">
<%=rs.getString("title")%></a></td>
<td width="100" align="right"> </td>
</tr>
<% }
rs.close();
rs=null;
} %>
<%if(p.pageCount>1){
if(p.pageId==1){ out.print("<font color=\"#999999\">首页 上一页</font>"); }else{ %>
<A HREF="index.jsp?pageId=1">首页</A> <A HREF="index.jsp?pageId=<%=p.pageId-1%>">上一页</A>
<%}%>
<%if(p.pageId>=p.pageCount){out.print("<font color=\"#999999\">下一页 尾页</font>");}else{ %>
<A HREF="index.jsp?pageId=<%=p.pageId+1%>">下一页</A>
<A HREF="index.jsp?pageId=<%=p.pageCount%>">尾页</A>
<%}}else{
out.print("<font color=\"#999999\">首页 上一页 下一页 尾页</font>");
}
%>
int p.recordCount=0;//总记录数
int p.pageSize=16;//每页显示数量
int p.pageCount=0;//总页数
int p.pageId=1;//当前页号
String getPageId =request.getParameter("pageId");sql="select * from tb_soft";
sqlnum="select count(*) from tb_soft";if (getPageId==null) getPageId ="1";
int count=1;
//取得待显示页码
String strPage = request.getParameter("pageId");
if(strPage==null) p.pageId = 1;
else p.pageId = java.lang.Integer.parseInt(strPage);
p.recordCount= op.rowsCount(sqlnum); //记算总页数
p.pageCount = (p.recordCount+p.pageSize-1) / p.pageSize;
//调整待显示的页码
if(p.pageId>p.recordCount) p.pageId = p.recordCount;
if(p.recordCount>0){
rs=op.getdb(p.pageSize,p.pageId,sql);
while(rs.next()&&count<=p.pageSize){
count++; %>
<tr>
<td width="17"><div align="center"><img src="../img/0051.gif" width="10" height="10"></div></td>
<td width="437" height="25"><a href="list.jsp?id=<%=rs.getString("id")%>">
<%=rs.getString("title")%></a></td>
<td width="100" align="right"> </td>
</tr>
<% }
rs.close();
rs=null;
} %>
<%if(p.pageCount>1){
if(p.pageId==1){ out.print("<font color=\"#999999\">首页 上一页</font>"); }else{ %>
<A HREF="index.jsp?pageId=1">首页</A> <A HREF="index.jsp?pageId=<%=p.pageId-1%>">上一页</A>
<%}%>
<%if(p.pageId>=p.pageCount){out.print("<font color=\"#999999\">下一页 尾页</font>");}else{ %>
<A HREF="index.jsp?pageId=<%=p.pageId+1%>">下一页</A>
<A HREF="index.jsp?pageId=<%=p.pageCount%>">尾页</A>
<%}}else{
out.print("<font color=\"#999999\">首页 上一页 下一页 尾页</font>");
}
%>
解决方案 »
- 关于resultset
- 如何在JSP中 即时在网页上更新数据中更新的数据,在线等~~
- 为什么JSP里面的查询SQL报 未找到 存储过程
- 求助:tomcat 总是提示这些错误,大家帮忙看看
- java里 关于for循环和while循环的说法
- 很难解决的的一个问题!!!软件测试没学好啊
- ZK怎么添加jsp?!!
- 奇怪的session使用问题?
- 有谁用过oracle 的 jdevelop 感觉怎么样,我觉得一般来说比jbuilder 强
- 这是怎么回事呀????!!!!!!!!!!!!!!!
- 我自己编写了一段关于分页显示的程序,大家帮我看看对不对?
- 如何在一个Cookie中存入多个字段值?----100分紧急求助
出自:beyond_xiruo 2002年11月20日 16:14
一、Jsp方法如下:
**********************
<%@ page language="java" import="java.util.*,java.sql.*" %>
<%@ page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="cn" scope="page" class="myConnection.Conn" /><!--引用数据库操作的bean,自己完成,这里不再赘述-->
<%
int curpage=1;//当前页
int page_record=20;//每页显示的记录数
//用下面的方法(sql查询完成,速度快)
curpage=Integer.parseInt(request.getParameter("page"));//获取传递的值,需要显示的页
ResultSet rs=cn.rsexecuteQuery("select top "+page_record+" * from tablename where id not in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc");
//本查询语句得到的是所要显示的1000页的20条记录,大致思路为——子查询排除需要显示的记录前的所有记录,父查询则对余下的记录进行降序排列
while(rs.next) {
out.println(rs.getInt("id").toString());
}
rs.close();
%>
import java.util.*;/**
* Title:分页
* Description:
* Copyright: Copyright (c) 2004
* Company:
* author:颜喜班
* @version 1.0
*/
public class SplitPager
{
/*
* _sql_str:传入的sql语句
* _total_records: 总记录数目
* _pageSize: 每页显示的记录数目
* _page: 所分的逻辑页数
*/
private Connection con=null;
private Statement stmt=null;
private ResultSet rs=null;
private ResultSetMetaData rsmd=null;
private String _sql_str;
private int _total_records;
private int _pages;
private int _pagesize;
public void setConnection(Connection con)
{
this.con=con;
if (this.con == null)
System.out.println("Failure to get a connection!");
else
System.out.println("Success to get a connection!");
}
public void initialize(String sqlStr,int pageSize)
{
this._sql_str=sqlStr;
this._pagesize=pageSize;
try{
stmt=this.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(this._sql_str);
rsmd=rs.getMetaData();
if (rs!=null)
{
rs.last();
this._total_records = rs.getRow();
rs.first();
this._pages = (this._total_records - 1) / this._pagesize + 1;
}
}
catch(SQLException e){System.out.println(e.toString()); }
}
public Vector getPage(int ipage){
Vector vData=new Vector();
int n=ipage;
int m=0;
m=(n-1)*this._pagesize+1;
try{
if (rs!=null)
{
rs.absolute(m);
for(int i=0;i<this._pagesize;i++){
String[] sData=new String[rsmd.getColumnCount()];
for(int j=0;j<rsmd.getColumnCount();j++)
{
sData[j]=rs.getString(j+1);
}
if (sData==null)
{
break;
}
vData.addElement(sData);
rs.next();
}
}
rs.close();
stmt.close();
}
catch(SQLException e){System.out.println(e.toString()); }
return vData;
}
public int getPages()
{
return this._pages;
}
public int getTotalRecords()
{
return this._total_records;
}}