JR 精品文章 - 仿BAIDU?&?GOOGLE?分页页码显示格式
来源:百度文库 编辑:神马文学网 时间:2024/07/07 09:06:00
仿BAIDU & GOOGLE 分页页码显示格式 rdhj5566 整理 更新:2008-12-15 14:23:42 版本: 1.0
<%@ page language="java" pageEncoding="GB2312"%>
<%@ page import="java.sql.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
">
仿BAIDU & GOOGLE 分页页码显示格式
<%
//转载请保留以下信息,谢谢!
//by tolys
//本文出处: http://blog.csdn.net/tolys/archive/2007/10/06/1813197.aspx
int pagesize = 10;//每页显示记录数
int liststep = 20;//最多显示分页页数
int pages = 1;//默认显示第一页
if (request.getParameter("pages") != null) {
pages = Integer.parseInt(request.getParameter("pages"));//分页页码变量
}
//sql="select count(*) from table";//取出记录总数,把*换成记录名性能更加
int count = 305;//假设取出记录总数
int pagescount = (int) Math.ceil((double) count / pagesize);//求总页数,ceil(num)取整不小于num
if (pagescount < pages) {
pages = pagescount;//如果分页变量大总页数,则将分页变量设计为总页数
}
if (pages < 1) {
pages = 1;//如果分页变量小于1,则将分页变量设为1
}
int listbegin = (pages - (int) Math.ceil((double) liststep / 2));//从第几页开始显示分页信息
if (listbegin < 1) {
listbegin = 1;
}
int listend = pages + liststep/2;//分页信息显示到第几页
if (listend > pagescount) {
listend = pagescount + 1;
}
//显示数据部分
int recordbegin = (pages - 1) * pagesize;//起始记录
int recordend = 0;
recordend = recordbegin + pagesize;
//最后一页记录显示处理
if (pages == pagescount) {
recordend = (int) (recordbegin + pagesize * (count % pagesize) * 0.1);
}
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String strsql = "select top "+pagesize+ " * from (select top "+recordbegin+" * from tables order by aml_id) aa order by aml_id desc";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:", "", "");
pstmt = conn.prepareStatement(strsql);
rs = pstmt.executeQuery();
while(rs.next()){
response.getWriter().println("AML_ID: "+rs.getString(1)+" ");//显示取出的数据
response.getWriter().println("AML_ID: "+rs.getString(4)+"
");//显示取出的数据
}
// for (int i = recordbegin; i < recordend; i++) {
// response.getWriter().println("record " + i + "
");
// }
//显示数据部分
//<显示分页信息
//<显示上一页
if (pages > 1) {
response.getWriter().println(
"上一页");
}//>显示上一页
//<显示分页码
for (int i = listbegin; i < listend; i++) {
if (i != pages) {//如果i不等于当前页
response.getWriter().println(
"[" + i + "]");
} else {
response.getWriter().println("[" + i + "]");
}
}//显示分页码>
//<显示下一页
if (pages != pagescount) {
response.getWriter().println(
"下一页");
}//>显示下一页
//>显示分页信息
rs.close();
pstmt.close();
conn.close();
%>
<%@ page language="java" pageEncoding="GB2312"%>
<%@ page import="java.sql.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<%
//转载请保留以下信息,谢谢!
//by tolys
//本文出处: http://blog.csdn.net/tolys/archive/2007/10/06/1813197.aspx
int pagesize = 10;//每页显示记录数
int liststep = 20;//最多显示分页页数
int pages = 1;//默认显示第一页
if (request.getParameter("pages") != null) {
pages = Integer.parseInt(request.getParameter("pages"));//分页页码变量
}
//sql="select count(*) from table";//取出记录总数,把*换成记录名性能更加
int count = 305;//假设取出记录总数
int pagescount = (int) Math.ceil((double) count / pagesize);//求总页数,ceil(num)取整不小于num
if (pagescount < pages) {
pages = pagescount;//如果分页变量大总页数,则将分页变量设计为总页数
}
if (pages < 1) {
pages = 1;//如果分页变量小于1,则将分页变量设为1
}
int listbegin = (pages - (int) Math.ceil((double) liststep / 2));//从第几页开始显示分页信息
if (listbegin < 1) {
listbegin = 1;
}
int listend = pages + liststep/2;//分页信息显示到第几页
if (listend > pagescount) {
listend = pagescount + 1;
}
//显示数据部分
int recordbegin = (pages - 1) * pagesize;//起始记录
int recordend = 0;
recordend = recordbegin + pagesize;
//最后一页记录显示处理
if (pages == pagescount) {
recordend = (int) (recordbegin + pagesize * (count % pagesize) * 0.1);
}
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String strsql = "select top "+pagesize+ " * from (select top "+recordbegin+" * from tables order by aml_id) aa order by aml_id desc";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:", "", "");
pstmt = conn.prepareStatement(strsql);
rs = pstmt.executeQuery();
while(rs.next()){
response.getWriter().println("AML_ID: "+rs.getString(1)+" ");//显示取出的数据
response.getWriter().println("AML_ID: "+rs.getString(4)+"
");//显示取出的数据
}
// for (int i = recordbegin; i < recordend; i++) {
// response.getWriter().println("record " + i + "
");
// }
//显示数据部分
//<显示分页信息
//<显示上一页
if (pages > 1) {
response.getWriter().println(
"上一页");
}//>显示上一页
//<显示分页码
for (int i = listbegin; i < listend; i++) {
if (i != pages) {//如果i不等于当前页
response.getWriter().println(
"[" + i + "]");
} else {
response.getWriter().println("[" + i + "]");
}
}//显示分页码>
//<显示下一页
if (pages != pagescount) {
response.getWriter().println(
"下一页");
}//>显示下一页
//>显示分页信息
rs.close();
pstmt.close();
conn.close();
%>