社区
Web 开发
帖子详情
50分求一个jsp从数据库读出文件分页的程序??
hexinyu3
2004-09-28 11:54:15
50分求一个jsp从数据库读出文件分页的程序??
...全文
200
6
打赏
收藏
50分求一个jsp从数据库读出文件分页的程序??
50分求一个jsp从数据库读出文件分页的程序??
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aoplo
2004-09-28
打赏
举报
回复
<%@ page import="java.util.Vector"%>
<html>
<head>
<title>分页显示</title>
</head>
<body>
<%
Vector vector = (Vector)session.getAttribute("vector");
int pageSize = 3; //每页显示的记录数
int totalNum = vector.size(); //总共要显示的记录数
int totalPageNum = totalNum / pageSize + 1; //不能整除的话就还要一页显示余下的记录
if (totalNum % pageSize == 0) totalPageNum = totalPageNum -1; //如果记录总数可以整除每页显示的记录数则减少一页
String sPageNum = (String)request.getParameter("sPageNum");
int iPageNum; //当前页数
int iLeavePage; //剩下页数
int currentCount; //当前要显示的记录数
if (sPageNum == null)
{
iPageNum = 1;
iLeavePage = totalPageNum - iPageNum;
}
else
{
iPageNum = new Integer(sPageNum).intValue();
iLeavePage = totalPageNum - iPageNum;
}
if ((iPageNum == totalPageNum)&&(totalNum % pageSize != 0))
currentCount = totalNum % pageSize;
else currentCount = pageSize;
%>
<%
if (iPageNum >1)
{
%>
<a href="display.jsp?sPageNum=<%= new Integer(iPageNum - 1).toString()%>">上一页</a>
<%
}
if (iPageNum < totalPageNum)
{
%>
<a href="display.jsp?sPageNum=<%= new Integer(iPageNum + 1).toString()%>">下一页</a>
<%
}
%>
<table>
<tr>
<td>属性</td>
<td>名字</td>
<td>密码</td>
</tr>
<%
for (int i=(iPageNum-1)*pageSize;i<(iPageNum-1)*pageSize+currentCount;i++)
{
String[] str = (String[])vector.get(i);
%>
<tr>
<td><%out.println(str[0]);%></td>
<td><%out.println(str[1]);%></td>
<td><%out.println(str[2]);%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
hbuzhang
2004-09-28
打赏
举报
回复
上面是我用的,里面的数据可能和你的不一样,你可以根据情况适当的改进
hbuzhang
2004-09-28
打赏
举报
回复
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page language="java" import="java.sql.*"%>
<%@ page import="java.lang.Math.*" %>
<jsp:useBean id="userBean" scope="page" class="我的bean"/>
int t;
int mtotal;
t=0;
String strSQLsize="SELECT * FROM 数据表";
ResultSet RSsize = userBean.executeQuery(strSQLsize);
while(RSsize.next()){
t=t+1;
}
if((t%5)>0){
mtotal=t/5+1;
}else mtotal=t/5;
%>
<%!String pageNo, mTmp;
int i, j, k;
%>
<%
pageNo = request.getParameter("pageNo");
if(pageNo == null){
pageNo = "1";
}
j = Integer.parseInt(pageNo);
if(j < 1)
j = 1;
if(j > mtotal)
j = mtotal;
%>
<%
String strSQL="SELECT * FROM 数据表";
ResultSet RSa = userBean.executeQuery(strSQL);
for(k = 0;k < (j-1)*5;k++)
{
RSa.next();
}
i = 0;
k = 1;
out.print("<table border='1' bgcolor='#99CCFF'><tr><td width='296'>文章主题</td><td width='136'>作者</td></tr></table>");
while (RSa.next()) {
//out.println("ok"+i+"ok");
i = i + 1;
//超过3条
if(i == 6)
{
k = 0;
break;
}
String id=RSa.getString(1);
out.print("<table border='1'><tr><td width='296'><a href='test1.jsp?zhuti="+RSa.getString(1)+"'>"+RSa.getString(1)+"</td><td width='136'>"+RSa.getString(2)+"</td></tr></table>");
}
i = i - k;
RSa.close();
%>
<%////////////////////////////////////////////////
if(j > 1)
{
%><table>
<tr>
<td width='256'></td>
<td>
<a href="con1.jsp?pageNo=1">第一页</a>
<%
int ii = Integer.parseInt(pageNo,10);
// out.println(ii);
if(ii > 1)
ii = ii -1;
String ssTmp = Integer.toString(ii);
%>
<a href="con1.jsp?pageNo=<%=ssTmp%>">上一页</a>
<%
}
if(j < mtotal)
{
int ii = Integer.parseInt(pageNo,10);
if(ii < mtotal)
ii = ii + 1;
String ssTmp = Integer.toString(ii);
%>
<a href="con1.jsp?pageNo=<%=ssTmp%>">下一页</a>
<a href="con1.jsp?pageNo=<%=mtotal%>">最后页</a>
<%
}
if(mtotal < j)
j = mtotal;
%></td>
</tr>
</table>
hj821003
2004-09-28
打赏
举报
回复
eg:
select top n * from t while id not in (select top m id from t order by id) order by id
n是每页显示记录数,m是当前页前面的记录数,每次用not in把前面的记录排除,在剩下的记录中显示前面的记录从而实现分页。
drugon
2004-09-28
打赏
举报
回复
算法比较简单,但是你有没有考虑过各种分页算法的效率问题呢?一般的处理不外乎是先读出所有的记录,然后得到当前是多少页,根据每页要显示的行数,用数据库的relative(int rows)方法来绝对定位到一条记录下面,然后while循环每页要显示的行数的次数,就是这样的。
这样的算法比较简单,但是效率不高,特别是在有大量数据的前提下,一次不可以把所有的数据都读出来。
globaldf01
2004-09-28
打赏
举报
回复
1.定义一个分页数全局常量,即每页显示的数据条数。
private final static int SKIP = 100;
2.定义一个确定某个分页条数的全局变量,即该显示页的当前显示数据条数。
private static int cur = 0;
3.定义一个ResultSet全局变量,以便多次使用
private static java.sql.Result rs = null;
4.打开一个数据库连接[/pre]
Class.forName( sqlDriver );
java.sql.Connection conn = DriverManager.getConnection( URL, (String)userName,(String)Passwd)
Statement stmt = conn.createStatement();
String searchSql = "......";
rs = stmt.executeQuery(searchSql);
5.获取查询结果集数据(一般是在查询按钮的响应事件函数里)
......
nextButton.setEnable(true);
cur = 0;
while( cur < SKIP && rs.next() ){
cur ++ ;
.....(获取rs中的记录,存入java程序的变量中)
}
6.显示下一页的结果集数据(一般是在下页按钮的响应事件函数里)
if( rs.getRow() == 0 )
{
nextButton.setEnable(false);
closeConnection(); --rs的cursor已经到了最后,结果集显示完毕,关闭此次的连接
}
cur = 0;
if(rs != null && rs.getRow() > 0)
{
....将上页显示的内容清除
while(cur < SKIP && rs.next() )
{
cur ++ ;
.....(获取结果集中的记录,存入java程序的变量中)
}
}
缺陷:
此方法根据2.0版本的JDBC(具体和JDBC驱动程序的提供商有关)之前的ResultSet类产生,因为ResultSet无法将已经显示的结果集回滚,所以此法只能按照ResultSet类的定义,从左往右、从前往后的浏览数据结果。无法动态显示指定任意前后的结果集数据。
通过
JSP
连接MySQL,从MySQL中
读出
一张表并显示在
JSP
网页中
一、工具 二、用 Navicat Premium 创建数据表 三、其他准备工作 四、代码 五、从MySQL中
读出
一张表并显示在
JSP
网页中 一、工具 MySQL
数据库
Navicat Premium Java Platform (JDK) 10 Tomcat 9.0.10 Notepad ++ mysql-connector-java-5.1.7-bin.jar (java...
eclipse
jsp
mysql_使用eclipse通过
jsp
代码连接
数据库
傻瓜式教程
本帖最后由 须臾致幻 于 2020-2-17 00:54 编辑
JSP
查询MySQL
数据库
数据教程(一看就懂)*在观看此教程前需掌握如何搭建tomcat开发环境,且在本地已经搭建了tomcat的开发环境,此教程默认本地环境已经搭建好tomcat。*如果感觉文字无法理解,可以忽视文字说明直接看截图进行模仿操作即可1、双击mysql5.1安装包1.jpg (179.68 KB, 下载次数: 1)2020...
jsp
调用mysql不出图片_把mysql读取的图片显示在
jsp
页面上
先创建
数据库
如: create table bcctphoto( photoid int primary key auto_increment, photoname varchar(
50
) NOT NULL, photo blob ); 2把show.
jsp
放在tomcat的任意目录下. show.
jsp
作用:从
数据库
中
读出
blob,并产生image/jpg. show.
jsp
文件
如下: %@ ...
【
JSP
】上传图片到
数据库
中
1 第一步:建立
数据库
2 create table test_img(id number(4),name varchar(20),img long raw); 3 第二步:(NewImg.html) 4 <html><head><title>添加图片</title></head> 5 <body>...
jsp
怎样实现动态表格
jsp
怎样实现动态表格 2014-03-16 10:44月恋vv 分类:JAVA相关 | 浏览 1156 次 编程语言 我需要从
数据库
中
读出
数据,然后显示在页面上,我用的循环td的方法,但是这样很丑,当数据量很少的时候它排版很开,有没有比较好的方法显示动态数据? 然后我希望每条数据有
一个
按钮,点击会把这条数据传值到另
一个
页面的,这里我用的方法是计数(计算点击的数据在表格中的位
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章