高效简单的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 = "sel&#101;ct COUNT(*) FROM Authors";
  
  //取总文章数
  statement = conn.cr&#101;ateStatement();
  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 = "sel&#101;ct Top "+ipage+" au_id,au_lname,au_fname,address,phone from authors wh&#101;re au_id not in (sel&#101;ct 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>

随机日志

发表评论

0 评论.

Leave a Reply



[ Ctrl + Enter ]

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

CNXCT小组的博客 is Stephen Fry proof thanks to caching by WP Super Cache