高效简单的 JSP 分页代码分析

ZDNet软件频道 时间:2008-06-28 作者: | 中国IT实验室 我要评论()
本文关键词:简单 高效 JSP
高效简单的 JSP 分页代码分析
 <%@ page import="java.sql.*,java.io.*,java.util.*" %>
  <%@ page language="java" pageEncoding="Big5" %>
  <%! String au_id,au_lname,au_fname,phone,address,city,state;%>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <HTML>
  <HEAD>
  <TITLE>ArticleList</TITLE>
  <link rel="stylesheet" href="style.css">
  </head>
  <body bgcolor="#FFFFFF">
  
  <table width="760" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
  <td>
  <table width="750" border="0" cellspacing="2" cellpadding="2" align="center">
  <tr align="center">
  <td> </td>
  </tr>
  <tr>
  <td>
  <table width="740" border="0" cellspacing="1" cellpadding="1" align="center">
  <tr align="center" bgcolor="#CCCCCC">
  <td><b>标题</b></td>
  <td><b>作者</b></td>
  <td><b>类型</b></td>
  <td><b>点击</b></td>
  <td><b>加入时间</b></td>
  </tr>
  <%
  int i;
  int ipage=5; //分页单位
  int allpage; //总页数
  int pages; //接受的页码变量
  int cpage=1; //当前页
  int spage; //开始页
  int allCol=0;
  Vector v=null;
  
  //数据库连接声明
   Connection conn=null;
   java.lang.String sql,pagesql;
   java.sql.ResultSet rs,pagers;
   Statement statement=null;
   String kmsdb="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=DBName";
   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    conn = DriverManager.getConnection(kmsdb, "user", "pwd");
  
   pagesql = "SELECT COUNT(*) FROM Authors";
  
  //取总文章数
  statement = conn.createStatement();
  pagers = statement.executeQuery(pagesql);
   while(pagers.next())
   {
   allCol = pagers.getInt(1);
   System.out.println(allCol);
  
   }
  
  //获得总页面数
  allpage = (int)Math.ceil((allCol + ipage-1) / ipage);
  //判断参数pages是否空
  if (request.getParameter("pages")==null) {
  pages=1;
  } else {
  pages = new Integer(request.getParameter("pages")).intValue();
  System.out.println(pages);
  }
  //判断当前页
  if(pages > allpage || pages == 0)
  {cpage = 1;}
  else
  {
  cpage = pages;
  }
  //判断起始页
  sql = "select Top "+ipage+" au_id,au_lname,au_fname,address,phone from authors where au_id not in (select top "+(cpage-1)*ipage+" au_id from authors order by au_id desc)order by au_id desc";
  rs = statement.executeQuery(sql);
  while (rs.next())
  {
   au_id=rs.getString("au_id");
   au_lname=rs.getString("au_lname");
   au_fname=rs.getString("au_fname");
   phone=rs.getString("phone");
   address=rs.getString("address");
  
  %>
   <td width="300"><%= au_id %></a></td>
   <td width="300"><%= au_lname %></a></td>
   <td width="300"><%= au_fname %></a></td>
   <td width="300"><%= phone %></a></td>
   <td width="300"><%= address %></a></td>
  </tr>
  <%  
  }%>
  <tr bgcolor="#CCCCCC">
  <td colspan="5" align="right" valign="middle">共 <%= allCol %>条记录 共 <%= allpage %>页 <% if (cpage>1) { %><a href="fy.JSP?pages=<%= cpage-1 %>"><img src="images/prev.gif" border="0"></a><% } if (cpage<allpage) { %><a href="fy.JSP?pages=<%= cpage+1 %>"><img src="images/next.gif" border="0"></a><% } %> / <% for (i=1;i<=allpage;i++) { if (i != pages) {%><a href="fy.JSP?pages=<%= i %>"><%= i %></a> <% }} %></td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  </body>
  </html>
  

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134