查看: 58|回复: 8

[03-18] 如何在jsp中实现分页?

[复制链接]
发表于 2008-3-18 08:35:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
同题目,谢谢
回复

使用道具 举报

发表于 2008-3-18 09:02:16 | 显示全部楼层
这是什么意思? 什么要分页?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-18 09:06:51 | 显示全部楼层
比如说你有消息,但是你收到的消息太多了,这时候用滚动条下拉的话太过难找,所以就需要用分页了
回复 支持 反对

使用道具 举报

发表于 2008-3-18 09:10:52 | 显示全部楼层
噢  这个好像可以像QQ一样 能分组吧.  可以在设置里找找看.  应该可以分组的
回复 支持 反对

使用道具 举报

发表于 2008-3-18 09:17:10 | 显示全部楼层
   分页显示是Web数据库应用中经常需要遇到的问题,当用户的数据库查询结果远远超过了计算机屏幕的显示能力的时候,我们就可以答案在数据库分页显示以达到合理的将数据呈现给用户的目的。下面是一个数据库分页操作的通用实例,对任何数据库平台上的分页功能都有很好的借鉴意义。


<%@ page contentType="text/html;charset=8859_1" %>
<%
//变量声明
Java.sql.Connection sqlCon; //数据库连接对象
Java.sql.Statement sqlStmt; //SQL语句对象
Java.sql.ResultSet sqlRst; //结果集对象

Java.lang.String strCon; //数据库连接字符串
Java.lang.String strSQL; //SQL语句

int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
Java.lang.String strPage;

int i;

//设置一页显示的记录数
intPageSize = 2;

//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = Java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}

//装载JDBC驱动程序
Java.sql.DriverManager.reGISterDriver(new Oracle.jdbc.driver.OracleDriver());

//设置数据库连接字符串
strCon = "jdbc:oracle:thin:@Linux:1521:ora4cweb";

//连接数据库
sqlCon = Java.sql.DriverManager.getConnection(strCon,"hzq","hzq");

//创建一个可以滚动的只读的SQL语句对象
sqlStmt = sqlCon.createStatement(Java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,Java.sql.ResultSet.CONCUR_READ_ONLY);

//准备SQL语句
strSQL = "select name,age from test";

//执行SQL语句并获取结果集
sqlRst = sqlStmt.executeQuery(strSQL);

//获取记录总数
sqlRst.last();
intRowCount = sqlRst.getRow();

//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;

//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle</title>
</head>

<body>

<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>

<%
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize + 1);

//显示数据
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast()){
%>
<tr>
<td><%=sqlRst.getString(1)%></td>
<td><%=sqlRst.getString(2)%></td>
</tr>
<%
sqlRst.next();
i++;
}
}
%>

</table>

第<%=intPage%>页 共<%=intPageCount%>页
<%if(intPage<intPageCount){%><a href="jdbc20-oracle.jsp?page=<%=intPage+1%>">下一页
</a><%}%> <%if(intPage>1){%><a href="jdbc20-oracle.jsp?page=<%=intPage-1%>">上一页</a><%}%>

</body>
</html>

<%
//关闭结果集
sqlRst.close();

//关闭SQL语句对象
sqlStmt.close();

//关闭数据库
sqlCon.close();
%>

[ 本帖最后由 訫碎メ了無痕 于 2008-3-18 09:21 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2008-3-18 09:17:41 | 显示全部楼层
LZ搞JAVA的?
回复 支持 反对

使用道具 举报

发表于 2008-3-18 09:27:19 | 显示全部楼层
JAVA我学的不是很好!~s:11
上面的回答是百度上找的!s:24
LZ要是有 .NET方面的问题我差不多能解决!s:29
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-18 17:28:25 | 显示全部楼层
谢谢  訫碎メ了無痕   的帮忙了~~我Java和.NET都学,主攻Java,呵呵
分页实现了,呵呵s:28 s:28
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-18 17:30:03 | 显示全部楼层
.NET方面确实有问题哦,就是随机数种子的问题,一般的随机数看起来随机产生,但是实际上是有规律的,加了种子后基本上就没规律了,我就是种子问题搞不太清楚
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表