2023信创独角兽企业100强
全世界各行各业联合起来,internet一定要实现!

在JSP中实现完全分页的代码

2004-02-11 eNet&Ciweek

  对于分页这个问题,我试着以以前写ASP和PHP的思路做了一下,是以纯JSP代码的形式,后来又写了一个bean来实现,实际的结果发现2者速度没有多大差别(我是做了20000条记录的分页:>)我还想试试servlet的结果如何

  关于分页的代码如下:   

  //Author tar(bigangell@yesky.com)

  //您可以任意拷贝复制该代码,但请加上以上作者信息

  //有任何问题请与我联系

  //效果请看 http://210.77.144.64/kk/java/java/article.jsp
  

  <%@ page import="java.sql.*" %>

  <%@ page import="java.io.*" %>

  <%@ page import="java.util.*" %>

  

  <%! String aTitle,aAuthor,AType,ArticleType,InsertTime,Color; %>

  

  

  

  ArticleList

  

  

  

  

  

  

  

  

  

  

  

  

  

  


  

  

  

  

  

  

  

  


  

  

  

  

  

  

  

  

  <%

  int i;

  int ipage=10; //分页单位

  int allpage; //总页数

  int pages; //接受的页码变量

  int cpage=1; //当前页

  int spage; //开始页   

  //数据库连接声明

  java.lang.String sql,pagesql;

  java.sql.ResultSet rs,pagers;

  pagesql = "select count(a_id) as A from article";

  

  //取总文章数

  pagers = sqlconn.executeQuery(pagesql);

  int allCol = pagers.getInt("A");

  

  //获得总页面数

  allpage = (int)Math.ceil((allCol + ipage-1) / ipage);

  

  //判断参数pages是否为空

  if (request.getParameter("pages")==null) {

  pages=1;

  } else {

  pages = new Integer(request.getParameter("pages")).intValue();

  }

  

  //判断当前页

  if(pages > allpage // pages == 0){

  cpage = 1;

  } else {

  cpage = pages;

  }

  

  //判断起始页

  spage=(cpage-1)*ipage;

  

  sql = "select a_id,a_title,a_author,aID,a_time,a_readtime,sID from article order by a_id desc limit "+ spage +","+ ipage;

  rs = sqlconn.executeQuery(sql);

  int cu=1;

  

  //循环取数据库值

  while (rs.next()) {

  int aID = rs.getInt("a_id");

  aTitle = rs.getString("a_title");

  aAuthor = rs.getString("a_author");

  int ArticleTypeID = rs.getInt("aID");

  int ReadTime = rs.getInt("a_readtime");

  InsertTime = rs.getString("a_time");

  if (cu % 2 == 0) { Color="#DBECFD"; }

  else { Color="#C6E1FD"; }

  switch (ArticleTypeID) {

  case(1):

  ArticleType="小说";

  break;

  case(2):

  ArticleType="散文";

  break;

  case(3):

  ArticleType="诗歌";

  break;

  case(4):

  ArticleType="随笔";

  break;

  }

  %>

  

  

  

  

  

  

  

  <%

  cu++;

  }

  %>

  

  

  

  
标题 作者 类型 点击 加入时间
<%= aTitle %> <%= aAuthor %> <%= ArticleType %> <%= ReadTime %> <%= InsertTime %>
共 <%= allCol %>条记录 共 <%= allpage %>页 <% if (cpage>1) { %><% } if (cpage<% } %> / <% for (i=1;i<=allpage;i++) { if (i != pages) {%><%= i %> <% } }%>


  


  


  

  

相关频道: eNews

您对本文或本站有任何意见,请在下方提交,谢谢!

投稿信箱:tougao@enet16.com