jsp实现分页

本文介绍了一个使用JSP实现的文章列表展示功能,通过连接数据库获取文章标题、作者等信息,并实现了每页显示十条记录的分页效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@ 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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值