JSP+MySql实现分页显示

用JSP+MySql实现分页显示,请给我留言,发到我邮箱,如果实现得好,我可以加100分。... 用JSP+MySql实现分页显示,请给我留言,发到我邮箱,如果实现得好,我可以加100分。 展开
 我来答
朴质且温馨丶宝贝4
2009-06-19 · TA获得超过187个赞
知道答主
回答量:62
采纳率:0%
帮助的人:41.4万
展开全部
源代码 ,这个测试过 好使 ,只要把登陆名与密码改一下,再建一个数据库 ,就好使了 别忘了 向里面添加数据

<%@ page language="java" contentType="text/html; charset=GB2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
String driverClass="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/bbb";
String username = "root";
String password = "111111";

Class.forName(driverClass);
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
String sql = "select * from aa order by User DESC";
ResultSet rs = stmt.executeQuery(sql);
rs.last();

int pageSize = 5; //每页显示的记录数
int pageCount = 0; //总页数
int rowCount = rs.getRow(); //获取记录总数
//out.println(rowCount);
pageCount = (rowCount+pageSize-1)/pageSize;
int list_notice = 1; //当前页
//取得用户所指定的页
String goToPage = request.getParameter("list_notice");
if (goToPage == null){
goToPage = "1";
}
//转换成整形
try{
list_notice= Integer.parseInt(goToPage);
} catch (NumberFormatException ex){
list_notice = 1;
}
//当前页小于等于第一页 则按第一页算 如果 当前页大于等于总页数则为最后页
if(list_notice <=1){
list_notice = 1;
}
else if(list_notice >= pageCount){
list_notice = pageCount;
}
//游标的位置 (当前页 - 1) * 页面大小 + 1
int posion = (list_notice -1 ) * pageSize + 1;
//设置游标的位置
rs.absolute(posion);
//循环显示表中的数据 pageSize(每页所显示的记录)
//rs.isAfterLast() 游标是否在最后一行之后 说明后面已经没记录
int i=0;
%>
<table width="880">
<tr height = "8">
<td width="100" align="center" >公告标题</td>
<td width="680" align="center">公告内容</td>
<td width="100" align="center">公告日期</td>
</tr>
<%
while (i <pageSize && !rs.isAfterLast()){
%>
<tr>
<td width="100" align="center"><a href="front/notice/NoticeSingle.jsp?id=<%=rs.getString(1) %>"><b><%=rs.getString(2) %></b></a></td>
<td width="680" align="center"><%=rs.getString(3) %></td>
<td width="100" align="center"><%=rs.getString(4) %></td>
</tr>

<%
out.println("<br>");
rs.next();
i++;
}
%>
</table>
<%
out.println("<br>");
out.println("<br>");
out.println("<br>");
out.println("<br>");
out.println("        ");
if(list_notice < pageCount){
out.println(" <a href=NoticeList.jsp?list_notice="+ (list_notice+1) +">[下一页] </a>");
}

if(list_notice > 1){
out.println(" <a href=NoticeList.jsp?list_notice="+ (list_notice-1)+">[上一页] </a>");
}
out.println("        ");
out.println("共"+pageCount+"页");
out.println("        ");
out.println("第"+list_notice+"页");
out.println("        ");
out.println(" <a href=NoticeList.jsp?list_notice=" +1+ ">『首页』 </a>");
out.println("        ");
out.println(" <a href=NoticeList.jsp?list_notice="+pageCount+">『尾页』 </a>");

rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
闪电仙人球
2009-06-19 · TA获得超过2206个赞
知道大有可为答主
回答量:3553
采纳率:50%
帮助的人:1354万
展开全部
1.先统计数据总数
2.设置每页显示条数
3.数据总数除以每页条数=总页数
4.获取当前页数
5.(当前页数-1)*每页显示条数+1=当前页第一条数据
6.循环显示当前页所有数据

分页就就是这样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
smile2008_k
2009-06-19 · TA获得超过163个赞
知道答主
回答量:45
采纳率:100%
帮助的人:32.8万
展开全部
程序已发到你邮箱了。请加分。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式