完全JSP分页代码

王朝java/jsp·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

对于分页这个问题,我试着以以前写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.*" %>

<jsp:useBean id="sqlconn" scope="page" class="kk.database.sqlconn" />

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE>ArticleList</TITLE>

<META NAME="Generator" CONTENT="jBuilder3.5 && jEdit1.0">

<META NAME="Author" CONTENT="bigangell">

<META NAME="Keywords" CONTENT="Java,Servlet,Jsp,Beans,PHP">

<META NAME="Description" CONTENT="A Pure World For Programming Include C/C++,Java">

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">

<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=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;

}

%>

<tr bgcolor="<%= Color %>">

<td width="300"><a href="viewarticle.jsp?aID=<%= aID %>"><%= aTitle %></a></td>

<td align="center" width="100"><%= aAuthor %></td>

<td align="center" width="50"><%= ArticleType %></td>

<td align="center" width="50"><%= ReadTime %></td>

<td align="center" width="240"><%= InsertTime %></td>

</tr>

<%

cu++;

}

%>

<tr bgcolor="#CCCCCC">

<td colspan="5" align="right" valign="middle">共 <%= allCol %>条记录 共 <%= allpage %>页 <% if (cpage>1) { %><a href="article.jsp?pages=<%= cpage-1 %>"><img src="images/prev.gif" border="0"></a><% } if (cpage<allpage) { %><a href="article.jsp?pages=<%= cpage+1 %>"><img src="images/next.gif" border="0"></a><% } %> / <% for (i=1;i<=allpage;i++) { if (i != pages) {%><a href="article.jsp?pages=<%= i %>"><%= i %></a><% } }%></td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航