![]() ![]() |
|
JAVA技巧(Java实用分页代码) | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/11/1 20:42:03 文章录入:杜斌 责任编辑:杜斌 | |
|
|
//实体类代码 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 Examda提示自动生成 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 自动生成 Examda提示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> |
|
![]() ![]() |