對于分頁這個問題,我試著以以前寫ASP和PHP的思路做了一下,是以純JSP代碼的形式,后來又寫了一個bean來實現(xiàn),實際的結(jié)果發(fā)現(xiàn)2者速度沒有多大差別(我是做了20000條記錄的分頁:>)我還想試試servlet的結(jié)果如何
關(guān)于分頁的代碼如下:
//Author tar(bigangell@yesky.com)
//您可以任意拷貝復制該代碼,但請加上以上作者信息
//有任何問題請與我聯(lián)系
//效果請看 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; //總頁數(shù)
int pages; //接受的頁碼變量
int cpage=1; //當前頁
int spage; //開始頁
//數(shù)據(jù)庫連接聲明
java.lang.String sql,pagesql;
java.sql.ResultSet rs,pagers;
pagesql = "select count(a_id) as A from article";
//取總文章數(shù)
pagers = sqlconn.executeQuery(pagesql);
int allCol = pagers.getInt("A");
//獲得總頁面數(shù)
allpage = (int)Math.ceil((allCol + ipage-1) / ipage);
//判斷參數(shù)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;
//循環(huán)取數(shù)據(jù)庫值
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;
}
%>
<%= aTitle %> |
<%= aAuthor %> |
<%= ArticleType %> |
<%= ReadTime %> |
<%= InsertTime %> |
<%
cu++;
}
%>
共 <%= allCol %>條記錄 共 <%= allpage %>頁 <% if (cpage>1) { %><% } if (cpage<% } %> / <% for (i=1;i<=allpage;i++) { if (i != pages) {%><%= i %> <% } }%> |
|
|