分页的java代码 分页Java

怎样用java实现分页显示

实现原理很简单,就是建立一个Page类,里面放当前访问的页数和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。

创新互联建站专注于企业成都全网营销、网站重做改版、沁源网站定制设计、自适应品牌网站建设、H5响应式网站成都商城网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为沁源等各大城市提供网站开发制作服务。

总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再+1。

当前页数。

表记录的起始位置=(当前页数-1)*每页大小。

总记录数(select count(*) from [表名] [where [条件]]。从数据库中查询得到)

每页大小,可以固定,也可以从页面传过来有了这几个参数之后,就用sql语句查出对应的记录就可以了。

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。

由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。

Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术。

谁能给我一个java分页标签的代码参考一下

下面的代码是纯jsp页面分页

也有java后台代码的分页,你如果想要的话就说。

%@ page contentType="text/html; charset=gb2312" %

%@ page language="java" %

%@ page import="java.sql.*" %

%

//驱动程序名,比较旧了,如果你用mysql5,自己改。

String driverName="org.gjt.mm.mysql.Driver";

String userName="root";//数据库用户名

String userPasswd="";//密码

String dbName="bookstore";//数据库名

String tableName="items"; //表名

//连接字符串

String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"password="+userPasswd;

Class.forName(driverName).newInstance();

Connection connection=DriverManager.getConnection(url);

Statement statement = connection.createStatement();

//每页显示记录数

int PageSize = 8;

int StartRow = 0; //开始显示记录的编号

int PageNo=0;//需要显示的页数

int CounterStart=0;//每页页码的初始值

int CounterEnd=0;//显示页码的最大值

int RecordCount=0;//总记录数;

int MaxPage=0;//总页数

int PrevStart=0;//前一页

int NextPage=0;//下一页

int LastRec=0;

int LastStartRecord=0;//最后一页开始显示记录的编号

//获取需要显示的页数,由用户提交

if(request.getParameter("PageNo")==null){ //如果为空,则表示第1页

if(StartRow == 0){

PageNo = StartRow + 1; //设定为1

}

}else{

PageNo = Integer.parseInt(request.getParameter("PageNo")); //获得用户提交的页数

StartRow = (PageNo - 1) * PageSize; //获得开始显示的记录编号

}

//设置显示页码的初始值

if(PageNo % PageSize == 0){

CounterStart = PageNo - (PageSize - 1);

}else{

CounterStart = PageNo - (PageNo % PageSize) + 1;

}

CounterEnd = CounterStart + (PageSize - 1);

%

html

head

title分页显示记录/title

link rel="stylesheet" href="style.css" type="text/css"

/head

%

//获取总记录数

ResultSet rs = statement.executeQuery("select count(*) from items" );

rs.next();

RecordCount = rs.getInt(1);

rs = statement.executeQuery("SELECT image_url,author,price,item_id FROM items ORDER BY item_id DESC LIMIT "

+StartRow+", "+PageSize);

//获取总页数

MaxPage = RecordCount % PageSize;

if(RecordCount % PageSize == 0){

MaxPage = RecordCount / PageSize;

}else{

MaxPage = RecordCount/PageSize+1;

}

%

body class="UsePageBg"

table width="100%" border="0" class="InternalHeader"

tr

td width="24%"font size=4分页显示记录/font/td

td width="76%"

font size=4%="总共"+RecordCount+"条记录 - 当前页:"+PageNo+"/"+MaxPage %/font

/td

/tr

/table

br

table width="100%" border="0" class="NormalTableTwo"

tr

td class="InternalHeader"记录序号/td

td class="InternalHeader" 图像路径/td

td class="InternalHeader" 作者/td

td class="InternalHeader" 价格/td

td class="InternalHeader" 图书编号/td

/tr

%

int i = 1;

while (rs.next()) {

int bil = i + (PageNo-1)*PageSize;

%

tr

td class="NormalFieldTwo" %=bil %/td

td class="NormalFieldTwo" %=rs.getString(1)%/td

td class="NormalFieldTwo" %=rs.getString(2)%/td

td class="NormalFieldTwo" %=rs.getString(3)%/td

td class="NormalFieldTwo" %=rs.getString(4)%/td

/tr

%

i++;

}%

/table

br

table width="100%" border="0" class="InternalHeader"

tr

tddiv align="center"

%

out.print("font size=4");

//显示第一页或者前一页的链接

//如果当前页不是第1页,则显示第一页和前一页的链接

if(PageNo != 1){

PrevStart = PageNo - 1;

out.print("a href=TestPage.jsp?PageNo=1第一页 /a: ");

out.print("a href=TestPage.jsp?PageNo="+PrevStart+"前一页/a");

}

out.print("[");

//打印需要显示的页码

for(int c=CounterStart;c=CounterEnd;c++){

if(c MaxPage){

if(c == PageNo){

if(c %PageSize == 0){

out.print(c);

}else{

out.print(c+" ,");

}

}else if(c % PageSize == 0){

out.print("a href=TestPage.jsp?PageNo="+c+""+c+"/a");

}else{

out.print("a href=TestPage.jsp?PageNo="+c+""+c+"/a ,");

}

}else{

if(PageNo == MaxPage){

out.print(c);

break;

}else{

out.print("a href=TestPage.jsp?PageNo="+c+""+c+"/a");

break;

}

}

}

out.print("]");;

if(PageNo MaxPage){ //如果当前页不是最后一页,则显示下一页链接

NextPage = PageNo + 1;

out.print("a href=TestPage.jsp?PageNo="+NextPage+"下一页/a");

}

//同时如果当前页不是最后一页,要显示最后一页的链接

if(PageNo MaxPage){

LastRec = RecordCount % PageSize;

if(LastRec == 0){

LastStartRecord = RecordCount - PageSize;

}

else{

LastStartRecord = RecordCount - LastRec;

}

out.print(":");

out.print("a href=TestPage.jsp?PageNo="+MaxPage+"最后一页/a");

}

out.print("/font");

%

/div

/td

/tr

/table

%

rs.close();

statement.close();

connection.close();

%

/body

/html

Java中实现分页效果的详细代码

head

%

const MaxPerPage=20

dim sql

dim rs

dim totalPut

dim CurrentPage

dim TotalPages

dim i,j

%

/head

body

%

conn = "DBQ=" + server.mappath("wj028.mdb") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

sql = "SELECT * FROM USER order by id desc"

set rs=server.createobject("adodb.recordset")

rs.open SQL,conn,1,1

rs.MoveFirst

rs.pagesize=MaxPerPage

howmanyfields=rs.Fields.Count-1

If trim(Request("Page"))"" then

CurrentPage= CLng(request("Page"))

If CurrentPage rs.PageCount then

CurrentPage = rs.PageCount

End If

Else

CurrentPage= 1

End If

if rs.eof then

response.write "p align='center'没有记录!/p"

else

totalPut=rs.recordcount

if CurrentPage1 then

if (currentPage-1)*MaxPerPagetotalPut then

rs.move(currentPage-1)*MaxPerPage

dim bookmark

bookmark=rs.bookmark

end if

end if

dim n,k

if (totalPut mod MaxPerPage)=0 then

n= totalPut \ MaxPerPage

else

n= totalPut \ MaxPerPage + 1

end if%

% i=0

do while not rs.EOF and imaxperpage

%

%

rs.movenext

i=i+1

loop

%

第%=currentpage%页

共%=n%页

%

k=currentpage

if k1 then

response.write "[b"+"a href='list.asp?page=1'首页/a/b]"

response.write "[b"+"a href='list.asp?page="+cstr(k-1)+"'上一页/a/b]"

else

Response.Write "[首页][上一页]"

end if

if kn then

response.write "[b"+"a href='list.asp?page="+cstr(k+1)+"'下一页/a/b] "

response.write "[b"+"a href='list.asp?page="+cstr(n)+"'尾页/a/b] "

else

Response.Write "[下一页][尾页]"

end if

%

%

end if

set rs=nothing

set conn=nothing

%

/body

如何用java实现分页效果(eclipse工具)

package dl.wsxx.base;

public class Pager {

private int totalRows; // 总行数

private int pageSize; // 每页显示的行数

private int currentPage; // 当前页号

private int totalPages; // 总页数

private int startRow; // 当前页在数据库中的起始行

private int pageStartRow; // 当前页开始行

private int pageEndRow; // 当前页结束行

private int hasNextPage; // 下一页存在标识[0:不存在,1:存在]

private int hasPreviousPage; // 前一页存在标识[0:不存在,1:存在]

public Pager() {

}

public Pager(int _totalRows,int _pageSize) {

pageSize = _pageSize;

totalRows = _totalRows;

totalPages = totalRows / pageSize;

int mod = totalRows % pageSize;

if (mod 0) {

totalPages++;

}

currentPage = 1;

startRow = 0;

}

public int getStartRow() {

return startRow;

}

public int getpageStartRow() {

return pageStartRow;

}

public int getpageEndRow() {

return pageEndRow;

}

public int getTotalPages() {

return totalPages;

}

public int getCurrentPage() {

return currentPage;

}

public int getPageSize() {

return pageSize;

}

public int getHasNextPage() {

return hasNextPage;

}

public int getHasPreviousPage() {

return hasPreviousPage;

}

public void setTotalRows(int totalRows) {

this.totalRows = totalRows;

}

public void setStartRow(int startRow) {

this.startRow = startRow;

}

public void setPageStartRow(int pageStartRow) {

this.pageStartRow = pageStartRow;

}

public void setPageEndRow(int pageEndRow) {

this.pageEndRow = pageEndRow;

}

public void setTotalPages(int totalPages) {

this.totalPages = totalPages;

}

public void setCurrentPage(int currentPage) {

this.currentPage = currentPage;

}

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

public void setHasNextPage(int hasNextPage) {

this.hasNextPage = hasNextPage;

}

public void setHasPreviousPage(int hasPreviousPage) {

this.hasPreviousPage = hasPreviousPage;

}

public int getTotalRows() {

return totalRows;

}

public void first() {

currentPage = 1;

startRow = 0;

pageStartRow = startRow + 1;

this.hasFlagSet(currentPage, totalPages);

if (this.hasNextPage == 0) {

pageEndRow = totalRows;

} else {

pageEndRow = startRow + pageSize;

}

}

public void previous() {

if (currentPage == 1) {

return;

}

currentPage--;

startRow = (currentPage - 1) * pageSize;

pageStartRow = startRow + 1;

this.hasFlagSet(currentPage, totalPages);

if (this.hasNextPage == 0) {

pageEndRow = totalRows;

} else {

pageEndRow = startRow + pageSize;

}

}

public void next() {

if (currentPage totalPages) {

currentPage++;

}

startRow = (currentPage - 1) * pageSize;

pageStartRow = startRow + 1;

this.hasFlagSet(currentPage, totalPages);

if (this.hasNextPage == 0) {

pageEndRow = totalRows;

} else {

pageEndRow = startRow + pageSize;

}

}

public void last() {

currentPage = totalPages;

startRow = (currentPage - 1) * pageSize;

pageStartRow = startRow + 1;

this.hasFlagSet(currentPage, totalPages);

if (this.hasNextPage == 0) {

pageEndRow = totalRows;

} else {

pageEndRow = startRow + pageSize;

}

}

public void refresh(int _currentPage) {

currentPage = _currentPage;

if (currentPage totalPages) {

last();

}

this.hasFlagSet(currentPage, totalPages);

}

private void hasFlagSet(int currentPage, int totalPages) {

if (currentPage == totalPages) {

if (currentPage == 1) {

this.hasPreviousPage = 0;

this.hasNextPage = 0;

} else {

this.hasPreviousPage = 1;

this.hasNextPage = 0;

}

} else {

if (currentPage == 1) {

this.hasPreviousPage = 0;

this.hasNextPage = 1;

} else {

this.hasPreviousPage = 1;

this.hasNextPage = 1;

}

}

}

}

这是我的工程里的分页核心代码,希望对你有用,还有ssh分页文档,可以参照研究一下。

java分页

分页想清楚了就没什么难的了。一般有两种(我就知道两种):

1.数据库分页:

/**

* @param pageItems:一页显示条数 currentPage:当前第几页

* @autor godelegant

*/

public List findAll(int pageItems,int currentPage){

StringBuffer sqlStr = new StringBuffer("select * from Product limit ?,?");

...

...

int startIndex = (currentPage-1)*pageItems;);//(currentPage-1)*pageItems能过当前页和页面记录数得到应该从哪条开始取

int endIndex = startIndex+pageItems;

db.getPstmt().setInt(1,startIndex);

db.getPstmt().setInt(2,endIndex);

ResultSet rs = db.getPstmt().executQuery();//假设你已经得到了数据库连接

//以上为MYSQL的JDBC分页,下面是ORALCE的,差别只在于SQL,所以你换一下SQL就OK:

StringBuffer sqlStr = new StringBuffer("select *,rownum rn from (select * from Product) where rn =? and rownum =?");

}

求总页数的方法很简单,查出所有记录数,除一页显示数。就可以得到

以上是JDBC的,如果使用hibernate等,数据库分页将会变得很简单,只需要设置两个参数,就是从哪取和取多少。

2.代码分页

思路是将数据库中的所有记录都取出来,然后再分页。

/**

* @para items:数据库中的所有记录,你可以使用另一个方法得到,如何查询得到我就不用说了吧

* @autor godelegant

*/

public List findAll(List items,int pageItems,int currentPage){

int startIndex = (currentPage-1)*pageItems;//从哪里开始取

int offset = items.size()-startIndex;//还有多少没有取过

int pageCount = offsetpageItems?pageItems:offset;//如果没有取过的大于需要显示的数,则实现显示数pageCount=pageItems,反之然;

ListProduct pageList = new ArrayList();

for(int i=startIndex,istartIndex+pageCount,i++){

pageList.add(items.get(i));

}

return pageList;

}

写了40分钟,希望对你有用

谁能给我个完整的java 分页代码 谢谢了

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.Enumeration;

import javax.servlet.http.HttpServletRequest;

import com.lqh.dao.db.DBCon;

public class PageDAO {

public static final String Text = "text";

public static final String Image = "image";

public static final String BbsText = "bbstext";

public static final String BbsImage = "bbsimage";

private HttpServletRequest request;

private int currentpage = 1; // 当前是第几页

private int pagecount = 0; // 一共有多少页

private int rscount = 0; // 一共有多少行

private int pagesize = 10; // 每页有多少行[默认为20行]

public PageDAO(HttpServletRequest request) {

this.request = request;

}

public int getCurrentpage() {

return currentpage;

}

public void setCurrentpage(int currentpage) {

this.currentpage = currentpage;

}

public int getPagecount() {

return pagecount;

}

public void setPagecount(int pagecount) {

this.pagecount = pagecount;

}

public int getPagesize() {

return pagesize;

}

public void setPagesize(int pagesize) {

this.pagesize = pagesize;

}

public int getRscount() {

return rscount;

}

public void setRscount(int rscount) {

this.rscount = rscount;

}

/**

* 传入SQL语句获取总记录数

*/

public int getRsCountForRs(String sql) {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

DBCon dbcon=new DBCon();

try {

conn = dbcon.getConn();

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

if (rs.next()) {

rs.last();

this.rscount = rs.getRow();

} else {

this.rscount = 0;

}

} catch (Exception ex) {

ex.printStackTrace();

this.rscount = 0;

} finally {

dbcon.tryClose(rs, ps, conn);

}

return this.rscount;

}

public int getRsCountForSQL(String sql) {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

DBCon dbcon=new DBCon();

try {

conn = dbcon.getConn();

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

if (rs.next()) {

this.rscount = rs.getInt("rscount");

} else {

this.rscount = 0;

}

} catch (Exception ex) {

ex.printStackTrace();

this.rscount = 0;

} finally {

dbcon.tryClose(rs, ps, conn);

}

return this.rscount;

}

/**

* 获取总页数

*

* @return int

*/

public int getPageCount() {

try {

this.pagecount = ((this.rscount - 1) / this.pagesize) + 1;

} catch (Exception ex) {

this.pagecount = 0;

}

return this.pagecount;

}

/**

* 获取当前页码的设置

*

* @return int

*/

public int getCurrentPage() {

try {

if (this.request.getParameter("currentpage") != null

Integer.parseInt(this.request

.getParameter("currentpage")) 1) {

this.currentpage = Integer.parseInt(this.request

.getParameter("currentpage"));

} else {

this.currentpage = 1;

}

} catch (Exception ex) {

this.currentpage = 1;

}

return this.currentpage;

}

/**

* 分页工具条

*

* @param fileName

* String

* @return String

*/

public String pagetool(String flag) {

StringBuffer str = new StringBuffer();

String url = this.getParamUrl();

int ProPage = this.currentpage - 1;

int Nextpage = this.currentpage + 1;

// 文字的分页

if (flag.equals(PageDAO.Text)) {

str.append("form method='post' name='pageform' action=''");

str

.append("table style='color: windowframe' width='100%' border='0' cellspacing='0' cellpadding='0'");

str.append("tr");

str.append("td width='20%'/td");

str.append("td height='26'");

str.append("共有记录" + this.rscount + "条 ");

str.append("共" + this.pagecount + "页 ");

str.append("每页" + this.pagesize + "记录 ");

str.append("现在" + this.currentpage + "/" + this.pagecount + "页");

str.append("/tdtd");

if (this.currentpage 1) {

str.append("a href='" + url + "currentpage=1'首页/a");

str.append(" ");

str.append("a href='" + url + "currentpage=" + ProPage

+ "'上一页/a");

str.append(" ");

} else {

str.append("首页");

str.append(" ");

str.append("上一页");

str.append(" ");

}

if (this.currentpage this.pagecount) {

str.append("a href='" + url + "currentpage=" + Nextpage

+ "'下一页/a");

str.append(" ");

} else {

str.append("下一页");

str.append(" ");

}

if (this.pagecount 1 this.currentpage != this.pagecount) {

str.append("a href='" + url + "currentpage=" + pagecount

+ "'尾页/a");

str.append(" ");

} else {

str.append("尾页");

str.append(" ");

}

str.append("转到");

str

.append("select name='currentpage' onchange='javascript:ChangePage(this.value);'");

for (int j = 1; j = pagecount; j++) {

str.append("option value='" + j + "'");

if (currentpage == j) {

str.append("selected");

}

str.append("");

str.append("" + j + "");

str.append("/option");

}

str.append("/select页");

str.append("/tdtd width='3%' /td/tr/table");

str.append("script language='javascript'");

str.append("function ChangePage(testpage){");

str.append("document.pageform.action='" + url

+ "currentpage='+testpage+'';");

str.append("document.pageform.submit();");

str.append("}");

str.append("/script");

str.append("/form");

} else if (flag.equals(PageDAO.Image)) {

/**

* 图片的分页

*/

} else if (flag.equals(PageDAO.BbsText)) {

/**

* 论坛形式的分页[直接以数字方式体现]

*/

str

.append("table width='100%' border='0' cellspacing='0' cellpadding='0'");

str.append("tr");

str.append("td width='3%' /td");

str.append("td height='26'");

str.append("记录" + this.rscount + "条  ");

str.append("共" + this.pagecount + "页  ");

str.append("每页" + this.pagesize + "记录  ");

str.append("现在" + this.currentpage + "/" + this.pagecount + "页");

str.append("/tdtd");

// 设定是否有首页的链接

if (this.currentpage 1) {

str.append("a href='" + url + "currentpage=1'首页/a");

str.append("  ");

}

// 设定是否有上一页的链接

if (this.currentpage 1) {

str.append("a href='" + url + "currentpage=" + ProPage

+ "'上一页/a");

str.append("   ");

}

// 如果总页数只有10的话

if (this.pagecount = 10) {

for (int i = 1; i = this.pagecount; i++) {

if (this.currentpage == i) {

str.append("font color=red[" + i

+ "]/font  ");

} else {

str.append("a href='" + url + "currentpage=" + i

+ "'" + i + "/a  ");

}

}

} else {

// 说明总数有超过10页

// 制定特环的开始页和结束页

int endPage = this.currentpage + 4;

if (endPage this.pagecount) {

endPage = this.pagecount;

}

int startPage = 0;

if (this.pagecount = 8 this.currentpage = 8) {

startPage = this.currentpage - 5;

} else {

// 表示从第一页开始算

startPage = 1;

}

System.out.println(startPage);

System.out.println(endPage);

for (int i = startPage; i = endPage; i++) {

if (this.currentpage == i) {

str.append("font color=red[" + i

+ "]/font  ");

} else {

str.append("a href='" + url + "currentpage=" + i

+ "'" + i + "/a  ");

}

}

}

// 设定是否有下一页的链接

if (this.currentpage this.pagecount) {

str.append("a href='" + url + "currentpage=" + Nextpage

+ "'下一页/a");

str.append("  ");

}

// 设定是否有尾页的链接

if (this.pagecount 1 this.currentpage != this.pagecount) {

str.append("a href='" + url + "currentpage=" + pagecount

+ "'尾页/a");

str.append("  ");

}

str.append("/tdtd width='3%' /td/tr/table");

} else if (flag.equals(PageDAO.BbsImage)) {

/**

* 论坛形式的分页[以图片的方式体现]

*/

// 设定分页显示的CSS

str.append("style");

str

.append("BODY {FONT-SIZE: 12px;FONT-FAMILY:宋体;WIDTH: 60%; PADDING-LEFT: 25px;}");

str

.append("DIV.meneame {PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 80%; PADDING-BOTTOM: 3px; MARGIN: 3px; COLOR: #ff6500; PADDING-TOP: 3px; TEXT-ALIGN: center}");

str

.append("DIV.meneame A {BORDER-RIGHT: #ff9600 1px solid; PADDING-RIGHT: 7px; BACKGROUND-POSITION: 50% bottom; BORDER-TOP: #ff9600 1px solid; PADDING-LEFT: 7px; BACKGROUND-IMAGE: url('"

+ this.request.getContextPath()

+ "/meneame.jpg'); PADDING-BOTTOM: 5px; BORDER-LEFT: #ff9600 1px solid; COLOR: #ff6500; MARGIN-RIGHT: 3px; PADDING-TOP: 5px; BORDER-BOTTOM: #ff9600 1px solid; TEXT-DECORATION: none}");

str

.append("DIV.meneame A:hover {BORDER-RIGHT: #ff9600 1px solid; BORDER-TOP: #ff9600 1px solid; BACKGROUND-IMAGE: none; BORDER-LEFT: #ff9600 1px solid; COLOR: #ff6500; BORDER-BOTTOM: #ff9600 1px solid; BACKGROUND-COLOR: #ffc794}");

str

.append("DIV.meneame SPAN.current {BORDER-RIGHT: #ff6500 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: #ff6500 1px solid; PADDING-LEFT: 7px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; BORDER-LEFT: #ff6500 1px solid; COLOR: #ff6500; MARGIN-RIGHT: 3px; PADDING-TOP: 5px; BORDER-BOTTOM: #ff6500 1px solid; BACKGROUND-COLOR: #ffbe94}");

str

.append("DIV.meneame SPAN.disabled {BORDER-RIGHT: #ffe3c6 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: #ffe3c6 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 5px; BORDER-LEFT: #ffe3c6 1px solid; COLOR: #ffe3c6; MARGIN-RIGHT: 3px; PADDING-TOP: 5px; BORDER-BOTTOM: #ffe3c6 1px solid}");

str.append("/style");

str.append("div class=\"meneame\"");

// 判定是否有上一页

if (this.currentpage 1) {

str.append("a href='" + url

+ "currentpage=1' hidefocus=\"true\"首页/a");

str.append("   ");

str.append("a href='" + url + "currentpage=" + ProPage

+ "' hidefocus=\"true\"上一页/a");

str.append("   ");

} else {

str.append("span class=\"disabled\"首页/span");

str.append("  ");

str.append("span class=\"disabled\"上一页/span");

str.append("  ");

}

// 显示中间的图片

if (this.pagecount = 10) {

for (int i = 1; i = this.pagecount; i++) {

if (this.currentpage == i) {

str.append("span class=\"current\"" + i + "/span");

} else {

str.append("a href='" + url + "currentpage=" + i

+ "' hidefocus=\"true\"" + i

+ "/a  ");

}

}

} else {

// 说明总数有超过10页

// 制定特环的开始页和结束页

int endPage = this.currentpage + 4;

if (endPage this.pagecount) {

endPage = this.pagecount;

}

int startPage = 0;

if (this.pagecount = 8 this.currentpage = 8) {

startPage = this.currentpage - 5;

} else {

// 表示从第一页开始算

startPage = 1;

}

System.out.println(startPage);

System.out.println(endPage);

for (int i = startPage; i = endPage; i++) {

if (this.currentpage == i) {

str.append("span class=\"current\"" + i + "/span");

} else {

str.append("a href='" + url + "currentpage=" + i

+ "' hidefocus=\"true\"" + i

+ "/a  ");

}

}

}

// 判断下一页和尾页

if (this.currentpage this.pagecount) {

if (this.currentpage this.pagecount - 10) {

str.append("...");

str.append("a href='" + url + "currentpage="

+ (this.pagecount - 1) + "' hidefocus=\"true\""

+ (this.pagecount - 1) + "/a  ");

str.append("a href='" + url + "currentpage="

+ this.pagecount + "' hidefocus=\"true\""

+ this.pagecount + "/a  ");

}

str.append("a href='" + url + "currentpage=" + Nextpage

+ "' hidefocus=\"true\"下一页/a");

str.append("  ");

} else {

str.append("span class=\"disabled\"下一页/span");

str.append("  ");

}

if (this.pagecount 1 this.currentpage != this.pagecount) {

str.append("a href='" + url + "currentpage=" + pagecount

+ "' hidefocus=\"true\"尾页/a");

str.append("  ");

} else {

str.append("span class=\"disabled\"尾页/span");

str.append("  ");

}

str.append("/div");

}

return str.toString();

}

public String getParamUrl() {

String url = "";

url = this.request.getRequestURI().toString();

if (url.indexOf("?") == -1) {

url = url + "?";

}

String totalParams = "";

Enumeration params = this.request.getParameterNames();// 得到所有参数名

while (params.hasMoreElements()) {

String tempName = params.nextElement().toString();

String tempValue = this.request.getParameter(tempName);

if (tempValue != null !tempValue.equals("")

!tempName.equals("currentpage")) {

if (totalParams.equals("")) {

totalParams = totalParams + tempName + "=" + tempValue;

} else {

totalParams = totalParams + "" + tempName + "="

+ tempValue;

}

}

}

String totalUrl = url + totalParams;

return totalUrl;

}

}


文章名称:分页的java代码 分页Java
转载来于:http://hbruida.cn/article/higcic.html