让自己留下记忆
享受和热爱生活哦
posts - 12,comments - 8,trackbacks - 0

 1
<%@ page language="java" contentType="text/html; charset=gbk"
 2    pageEncoding="gbk"
%>
 3<% page import="java.sql.*"%>
 4
 5
 6<%
 7    int pageSize = 3;        //设置每页的的记录数
 8    String strPageNo = request.getParameter("pageNo");    //        获取当前页码
 9    int pageNo;
10    if (strPageNo == null || strPageNo.equals("")) {    //安全性检查
11        pageNo = 1;
12    } else {
13        try {
14            pageNo = Integer.parseInt(strPageNo.trim());
15        } catch (NumberFormatException e) {
16            pageNo = 1;
17        }
18        if (pageNo <= 0)
19            pageNo = 1;
20    }
21
22    //数据库相关
23    Class.forName("com.mysql.jdbc.Driver");
24    String url = "jdbc:mysql://localhost/bbs?user=root&password=rongrong";
25    Connection conn = DriverManager.getConnection(url);
26
27    Statement stmtCount = conn.createStatement();
28    ResultSet rsCount = stmtCount
29            .executeQuery("select count(*) from article where pid = 0");
30    rsCount.next();
31    int totalRecords = rsCount.getInt(1);            //记录的总行数
32
33    int totalPages = totalRecords % pageSize == 0 ? totalRecords    
34            / pageSize : totalRecords / pageSize + 1;        //计算总页数
35    if (pageNo > totalPages)
36        pageNo = totalPages;
37
38    int startPos = (pageNo - 1* pageSize;            //计算每页第一个记录
39
40    Statement stmt = conn.createStatement();
41    ResultSet rs = stmt
42            .executeQuery("select * from article where pid = 0 order by pdate desc limit "
43            + startPos + "," + pageSize);                                                        //用limit来检索数据库
44
%>
45
46<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
47<html>
48<head>
49<meta http-equiv="Content-Type" content="text/html; charset=gbk">
50<title>Insert title here</title>
51</head>
52<body>
53<href="Post.jsp">发表新帖</a>
54
55<table border="1">
56
57    <%
58    while (rs.next()) {
59    
%>
60    <tr>
61        <td><%=rs.getString("title")%></td>
62    </tr>
63    <%
64    }
65    rs.close();
66    stmt.close();
67    conn.close();
68    
%>
69</table>
70
71<%=totalPages%>页 第<%=pageNo%>
72<href="ShowArticleFlat.jsp?pageNo=<%=pageNo-1%>"> < </a>
73&nbsp;&nbsp;&nbsp;&nbsp;
74<href="ShowArticleFlat.jsp?pageNo=<%=pageNo+1%>"> > </a>
75
76<!-- 这里的form的name是随便起,而onchange是JavaScript的元素,document.form1.submit()的意思是当前文档(document)的form1元素提交 -->
77<form name="form1" action="ShowArticleFlat.jsp">
78    <select name="pageNo" onchange="document.form1.submit()">
79        <%
80        for(int i=1; i<=totalPages; i++) {
81        
%>
82        <option value=<%=i%> <%=(pageNo == i) ? "selected" : ""%>> 第<%=i%>
83        <%
84        }
85        
%>
86    </select>
87</form>
88
89<form name="fom2" action="ShowArticleFlat.jsp">
90    <input type=text size=4 name="pageNo" value=<%=pageNo%> />
91    <input type="submit" value="go" />
92</form>
93
94</body>
95
96</html>
97
这是在jsp中用页面之间传递参数的分页实现。

posted on 2010-07-15 23:44 hypon 阅读(695) 评论(0)  编辑  收藏 所属分类: jsp&Servlet

只有注册用户登录后才能发表评论。


网站导航: