2007-09-05

简单、使用的jsp分页技术

关键字: 分页
总页数=(总记录+单页记录-1)/单页记录

由于贴出来代码,页面很乱,请直接下载txt文档。
  • page.rar (1.4 KB)
  • 描述:
  • 下载次数: 139
评论
boansen520 2007-11-21
谢谢,我正学jsp呢,下回去试试
julycn 2007-09-05
<% //防止页面混乱,删除此行

<%
java.sql.Connection sqlCon=null; //数据库连接对象
java.sql.Statement sqlStmt=null; //SQL语句对象
java.sql.ResultSet sqlRst=null; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
String strPage;
int i;
//设置一页显示的记录数
intPageSize = 20;
//取得待显示页码
strPage = request.getParameter("page");
if (strPage == null) {//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
} else {//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if (intPage < 1)
intPage = 1;
}
try{
//连接数据库
sqlCon = DataUtilJNDI.getConnection("jdbc/Fortune-Sun");
//创建一个可以滚动的只读的SQL语句对象
strSQL = "";
sqlStmt = sqlCon.createStatement(
java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
java.sql.ResultSet.CONCUR_READ_ONLY);//准备SQL语句
//执行SQL语句并获取结果集
sqlRst = sqlStmt.executeQuery(strSQL);
//获取记录总数
sqlRst.last();//光标在最后一行
intRowCount = sqlRst.getRow();//获得当前行号
//记算总页数
intPageCount = (intRowCount + intPageSize - 1) / intPageSize;
//调整待显示的页码
if (intPage > intPageCount)
intPage = intPageCount;
%>
<table>
<tr><td>第一列</td>
<td>第二列</td>
</tr>
<%if (intPageCount > 0) {
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage - 1) * intPageSize + 1);
//显示数据
i = 0;
while (i < intPageSize && !sqlRst.isAfterLast()) {
%>
<tr bgcolor="#FFFFFF">
<td>
<%=sqlRst.getString("第一列值")%>
</td>
<td>
<%=sqlRst.getString("第二列值")%>
</td>
</tr>
<%
sqlRst.next();
i++;
}
}
%>
</table>
<form name="lzForm" method="POST" action="当前页.jsp" onsubmit="return check()">
第<%=intPage%>页 共<%=intPageCount%>页<% int c_page=0; if (intPage > 1) { c_page=intPage-1; %>
<a href=<%="当前页.jsp?page="+c_page%>> 上一页</a><%}%>
<%if (intPage < intPageCount) { c_page=intPage+1; %>
<a href=<%="当前页.jsp?page="+c_page%>>下一页 </a><%}%>
转到第:<input type="text" id="test" name="page" size="8"> 页 <span><input type="submit" value="GO"></span>
</form>
<%}catch(Exception e){
e.printStackTrace();
}finally{
if(sqlCon!=null){
//关闭数据库
sqlCon.close();
}
}
%>
<script language=javascript>
function check(){
re = new RegExp("^[0-9][0-9]*$");
if (!lzForm.test.value.match(re)){
alert("必须输入数字");
return false;
}
}
</script>

//防止页面混乱,删除此行 %>
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

julycn
搜索本博客
我的相册
E09a394b-4b16-328b-8e1d-9ef916ee23c2-thumb
seam.jpg
共 13 张
存档
最新评论