• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

完全JSP分页代码

发布: 2007-7-14 21:19 | 作者: 佚名    | 来源: 网络转载     | 查看: 285次 | 进入软件测试论坛讨论

领测软件测试网 先声明一下,本人也是刚学习JSP没多少时间,期间得到了 何志强 先生的大力帮助,解决了很多Java平台方面的问题。

对于分页这个问题,我试着以以前写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="/Files/BeyondPic/2005-12/24/05122408152190037.gif" border="0"></a><% } if (cpage<allpage) { %><a href="article.jsp?pages=<%= cpage+1 %>"><img src="/Files/BeyondPic/2005-12/24/05122408152597303.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>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网