jsp分页显示问题,请教
我用的是oracle8i,如何分页显示查询结果?麻烦高手给点提示,最好有详细点的代码
高分相送,谢谢!
问题点数:90、回复次数:3Top
1 楼Andrawu(晓彬)回复于 2002-08-01 13:22:52 得分 10
用"分页"搜索论坛!Top
2 楼zl_xue(缺点)回复于 2002-08-01 13:28:13 得分 80
<%@ page language="java" import="guest.*"%>
<%@ include file="conn.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<%@ page errorPage="Exception.jsp"%>
<%
int i;
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
intPageSize = 5;
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
%>
<HEAD>
<TITLE>请您留言</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<LINK href="feiyi.css" type=text/css rel=StyleSheet>
<script language=javascript>
function dform(){
var valid="0123456789"
var temp;
if(guset.tel.value!="" && guset.tel.value.length<7){
alert("电话填写框内请填写一个长度大于6的整数!");
return false;
}
else{
for (var i=0; i<guset.tel.value.length; i++) {
temp = "" + guset.tel.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1"){
alert("电话填写框内请填写一个长度大于6的整数!");
return false;
}
} }
if(guset.name.value==""){
alert("昵称忘记啦!");
return false;
}
if(guset.content.value==""){
alert("啥都不想说——内容!");
return false;
}
if(guset.email.value!="" && guset.email.value.indexOf("@")==-1){
alert("email填写不正确!");
return false;
}
}
</script>
<script Language="Javascript">
function sc(){
if(!confirm("你确定要删除吗?")){
return false;
}
}
</script>
</HEAD>
<BODY bgcolor=#BBBBBB>
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<form name=guset action=save.jsp method="post" onsubmit="return dform();">
<td width="52%">昵称:
<input type=text name="name" maxlength="20" size="20" style="border:1px solid #A2A8AE;">
</td>
<td colspan=2>性别:<input type="radio" value="帅哥" name="sex" checked>男<input type="radio" value="倩妹" name="sex">女</td>
</tr>
<tr>
<td>信箱:<input type=text name="email" maxlength="20" size="20" style="border:1px solid #A2A8AE;">
</td>
<td colspan=2>电话:<input type="text" name="tel" maxlength="20" size="20" style="border:1px solid #A2A8AE;">
</td>
</tr>
<tr>
<td valign=top>内容:<textarea name="content" cols="30" rows="4" style="border:1px solid #A2A8AE;"></textarea>
</td>
<td><input type=submit name=submit value=" 提交 " style="border:1 solid #BBBBBB;padding-top:2;background-color:#A2A8AE;font-size:9pt;"><br><br><input type=reset name=submit value=" 重写 " style="border:1 solid #BBBBBB;padding-top:2;background-color:#A2A8AE;font-size:9pt;"></td>
</form>
</tr>
</table>
<hr color=#A2A8AE>
<%
SessionLib sl;
Statement stmt;
ResultSet rs;
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery("SELECT * FROM feiyi order by id desc");
//计算记录数
rs.last();
intRowCount = rs.getRow();
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
if (intRowCount-(intPage-1)*5<intPageSize){
intPageSize=intRowCount-(intPage-1)*5;
}
else{
intPageSize=5;
}
while(i<intPageSize && !rs.isAfterLast()&& rs.getString("name")!=null){
String s1 = rs.getString("name");
String s2 = rs.getString("sex");
String s3 = rs.getString("email");
String s5 = rs.getString("tel");
String s4 = rs.getString("time");
String s6 = String.valueOf(rs.getString("content"));
String s7 = rs.getString("ip");
String s8 = rs.getString("id");
String s9 = rs.getString("relapse");
out.println("<table width=100% border=0 cellspacing=2 cellpadding=2>");
out.println("<tr><td width='20%'>");
out.println("昵称:<input value="+s1+" readonly size=10 style='border:0px;background-color:bbbbbb;color:6D6D6D'>");
out.println("</td><td width='14%'>");
out.println("性别:<font color=#6D6D6D>"+s2);
out.println("</td><td width='30%'>");
out.println("信箱:<input value='"+s3+"' size=15 readonly style='border:0px;background-color:bbbbbb;color:6D6D6D'>");
out.println("</td><td width='20%'>");
out.println("电话:<input value='"+s5+"' readonly size=10 style='border:0px;background-color:bbbbbb;color:6D6D6D'>");
out.println("</td><td>");
out.println("T:<input value="+s4+" readonly size=16 style='border:0px;background-color:bbbbbb;color:6D6D6D'>");
out.println("</td></tr>");
out.println("<tr><td colspan=5>");
out.println("<font style='font-size:9pt;'>留言内容:</font><div style='padding-top:3;color:#6D6D6D'> "+s6+"</div>");
out.println("</td></tr>");
out.println("<tr><td colspan=2>");
sl = (SessionLib)session.getValue(session.getId());
if (sl!=null){
out.println("<a href='#' onclick=if(confirm('确定要删除吗?')){location.href='dele.jsp?id="+s8+"'}>删除</a>");
out.println("</td><td>");
out.println("<a href='#' onclick=window.open('reply.jsp?id="+s8+"','','width=300,height=100,top=200,left=200')>回复</a>");
out.println("</td><td align=center colspan=2>");
out.println("IP:<font color=#6D6D6D>"+s7);
}
out.println("</td></tr>");
out.println("<tr><td colspan=5>");
if (s9!=null)
{
out.println("<hr>回复: "+s9);
}
out.println("</td></tr>");
out.println("</table>");
out.println("<hr color=#717D80>");
rs.next();
i++;
}
}
%>
第<%=intPage%>页 共<%=intPageCount%>页 <%if(intPage<intPageCount){%><a href="add.jsp?page=<%=intPage+1%>">下一页</a><%}%> <%if(intPage>1){%><a href="add.jsp?page=<%=intPage-1%>">上一页</a><%}%>
<hr color=#A2A8AE>
<%
rs.close();//关闭结果集
stmt.close();//关闭SQL语句对象
con.close();//关闭数据库
%>
<%@ include file="banquan.jsp"%>
</BODY>
</HTML>
其实其他一些功能只要在这基础上参考着做一下就可以了。Top
3 楼suohui790616(小所)回复于 2002-08-01 15:51:47 得分 0
谢谢,解决Top




