java分页代码:Java实用分页代码
来源: 发布时间:星期五, 2008年10月24日 浏览:161次 评论:0
代码如下:
//实体类代码 package Test; public class UserInfo { private int id; private String name; private int age;
public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
//数据库访问类代码 package Test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList;
public class UserDao { public static ArrayList<UserInfo> getUsers(int pagesize, int pagenum) { String sql = "select top " + pagesize + " * from userinfo" + " where id not in " + "(select top " + ((pagenum - 1) * pagesize) + " id from userinfo order by id)" + " order by id";
ArrayList<UserInfo> al = new ArrayList<UserInfo>(); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:odbc:test"); pst = conn.prepareStatement(sql); rs = pst.executeQuery();
while (rs.next()) { UserInfo user = new UserInfo(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setAge(rs.getInt("age"));
al.add(user); }
} catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (pst != null) pst.close(); if (conn != null) conn.close(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } }
return al;
}
public static int getCount() { String sql = "select count(*) from userinfo"; int count = 0;
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:odbc:test"); pst = conn.prepareStatement(sql); rs = pst.executeQuery();
rs.next(); count = rs.getInt(1);
} catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (pst != null) pst.close(); if (conn != null) conn.close(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } }
return count;
} }
//网页上分页代码 //采用电骡verycd网站上的css(blog.css.r12631和blog.css.r12631) //请各位自行去verycd另存后查找 package Test; public class Pager { public static String getPager(int total,int pagesize,int pagenum) { int count = total/pagesize;
if (total%pagesize>0) count++;
StringBuffer buf = new StringBuffer(); buf.append("<DIV class=\"pages-nav\" style=\"margin: 10px 7px 0px 0px;padding:0 0 20px 0px!important;padding-bottom:0;\">");
if (pagenum==1) buf.append("<SPAN class=\"next\">« 上一页</SPAN>"); else buf.append("<A href=\"?pagenum="+(pagenum-1)+"\" class=\"next\">上一页 »</A>");
int bound1 = ((pagenum-2)<=0)?1:(pagenum-2); int bound2 = ((pagenum+2)>=count)?count:(pagenum+2);
for(int i=bound1;i<=bound2;i++) { if (i==pagenum) buf.append("<SPAN class=\"current\">"+i+"</SPAN>"); else buf.append("<a href='?pagenum="+i+"'>"+i+"</a>"); }
if (bound2<count) buf.append("<SPAN>...</SPAN>");
if (pagenum==count) buf.append("<SPAN class=\"next\">« 下一页</SPAN>"); else buf.append("<A href=\"?pagenum="+(pagenum+1)+"\" class=\"next\">下一页 »</A>");
buf.append("</DIV>");
return buf.toString();
} }
//JSP网页上的调用代码 //使用JSTL1.1 //采用电骡verycd网站上的css(blog.css.r12631和blog.css.r12631) //请各位自行去verycd另存后查找 <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@page import="Test.UserInfo"%> <%@page import="Test.UserDao"%> <%@page import="Test.Pager"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>
<title>My JSP 'MyJsp.jsp' starting page</title> <LINK type="text/css" rel="stylesheet" media="all" href="global.css.r12653"> <LINK rel="stylesheet" href="blog.css.r12631" type="text/css" media="all">
</head>
<body> <% int pagesize = 3; int pagenum = 1; if (request.getParameter("pagenum") != null) pagenum = Integer.parseInt(request.getParameter("pagenum"));
ArrayList<UserInfo> al = UserDao.getUsers(pagesize, pagenum); request.setAttribute("users", al);
%>
<table> <c:forEach items="${users}" var="user"> <tr> <td> <c:out value="${user.id }"></c:out> </td> <td> <c:out value="${user.name }"></c:out> </td> <td> <c:out value="${user.age }"></c:out> </td> </tr> </c:forEach> </table> <br> <%= Pager.getPager(UserDao.getCount(),pagesize,pagenum) %> </body> </html>
如果本文没有解决您的问题,请进老妖怪开发者社区提问
相关文章
读者评论
发表评论
|
|