JSP实现的Java通用简单分页算法之三
2009-06-20 01:37
841 查看
如果您喜欢这些文章,欢迎点击此处订阅本Blog
又从Google搜到两个分页的源码,收藏起来备用
其一:
其二:
又从Google搜到两个分页的源码,收藏起来备用
其一:
<%@ 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%& gt;页 共<%=intPageCount%>页 <%if(intPage<intPageCount){%><a href="jdbc20-oracle.jsp?page=<%=intPage+1%>">下一页</a>& lt;%}%> <%if(intPage>1){%><a href="jdbc20-oracle.jsp?page=<%=intPage-1%>">上一页</a>& lt;%}%> </body> </html> <% //关闭结果集 sqlRst.close(); //关闭SQL语句对象 sqlStmt.close(); //关闭数据库 sqlCon.close(); %>
其二:
page是关键字,不能当变量。 conn.jsp <% String sDBDriver = /"COM.ibm.db2.jdbc.app.DB2Driver/"; String sConnStr = /"jdbc:db2:faq/"; Connection conn = null; Statement stmt = null; ResultSet rs=null; try { Class.forName(sDBDriver); } catch(java.lang.ClassNotFoundException e) { out.print(/"faq(): /" + e.getMessage()); } try{ conn = DriverManager.getConnection(sConnStr,/"wsdemo/",/"wsdemo1/"); stmt = conn.createStatement(); }catch(SQLException e){ out.print(e.toString()); } %> query.jsp <%@ page language=/"java/" import=/"java.sql.*/" %> <%@ page contentType=/"text/html; charset=gb2312/" %> <%@ include file=/"conn.jsp/" %> <% ...... int pages=0; int pagesize=10; ResultSet result = null; ResultSet rcount = null; pages = new Integer(request.getParameter(/"pages/")).intValue(); if (pages>0) { String sql=/" state=/'我不傻/'/"; int count=0; try { rcount = stmt.executeQuery(/"SELECT count(id) as id from user where /"+sql); catch(SQLException ex) { out.print(/"aq.executeQuery: /" + ex.getMessage()); } if(rcount.next()) count = rcount.getInt(/"id/"); rcount.close(); if (count>0) { sql=/"select * from user where /"+sql; try { result = stmt.executeQuery(sql); } catch(SQLException ex) { out.print(/"aq.executeQuery: /" + ex.getMessage()); } int i; String name; // result.first(); // result.absolute((pages-1)*pagesize); // 此方法jdbc2.0支持。编译通过,但执行不过,不知是不是跟驱动有关,只好用下面的笨办法。 for(i=1;i<=(pages-1)*pagesize;i++) result.next(); for(i=1;i<=pagesize;i++) { if (result.next()) { name=result.getString(/"name/"); out.print(name); } result.close(); int n= (int)(count/pagesize); if (n*pagesize<count) n++; if (n>1) {for(i=1;i<=n;i++) out.print(/"<a href="query.jsp?pages=/" mce_href="query.jsp?pages=/""+i+/">/"+i+/" </a>/"); } } } %>
相关文章推荐
- 又一种JSP实现的Java通用简单分页算法
- Java类似淘宝分页简单算法实现
- JSP实现的Java通用简单分页算法
- 基于Java实现的简单且通用的分页实现封装 <Pagiation>
- 简单实现java DFA算法对敏感词过滤
- JSP+servlet+javabean实现分页
- jsp实现简单分页功能
- 用Java实现小球碰壁反弹的简单实例(算法十分简单)
- Java实现通用组合算法
- 简单的TFIDF算法实现Java代码
- 海量数据库的查询优化及分页算法方案(二)-实现小数据量和海量数据的通用分页显示存储过程 [转]
- java笔记——jsp实现简单论坛
- jsp+servlet+javabean实现数据分页方法完整实例
- java中RSA加密解密算法简单实现
- JAVA实现 简单抢红包算法,模拟真实抢红包。
- JAVA、jsp、数据库实现分页浏览功能
- 【数据结构和算法】用java简单的实现单链表的基本操作
- 排序算法之简单算法——java实现
- jsp+javabean实现分页
- 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录(一)