
正文
分页java代码 分页 java
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何用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分页文档,可以参照研究一下。
相关问答
Q1: 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
Q2: 怎样用java实现分页显示
实现原理很简单分页java代码,就是建立一个Page类,里面放当前访问的页数和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。
总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再+1。
当前页数。
表记录的起始位置=(当前页数-1)*每页大小。
总记录数(select count(*) from [表名] [where [条件]]。从数据库中查询得到)
每页大小,可以固定,也可以从页面传过来有分页java代码了这几个参数之后,就用sql语句查出对应的记录就可以分页java代码了。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。
Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术。
Q3: java中如何实现百度中的分页
/**
* 分页代码
*
* @author Star
* @version 1.0 2008/07/08
*/
public class CutPage implements Serializable{
private static Log log = LogFactory.getLog(CutPage.class);
private int curPageNo = 0; // 当前页数,从0开始
private int size = 0; // 所有数据条数
private String url; // 页面跳转的路径
private List showList; // 当前页面需要显示的数据列表
private int pageSize = 20;// 每页显示的数据条数
private int groupSize = 1;// 多少页为一组
private String pageNavigation;// 导航条
/**
* 每次通过sql语句从数据库里面分组取出需要显示的数据
*
* @param request
* javax.servlet.http.HttpServletRequest对象
* @param sql
* String 查询数据库的sql语句
* @param pageSize
* int 每页显示的条数
* @param groupSize
* int 分成多少组
* @param url
* String 页面跳转的路径,若没有特殊的参数传递,可以传入null或"",
* 如是在aciton里面调用,并且action是继承自DispatherAction的话最好传入完整的路径
*/
public void init(HttpServletRequest request, String sql, int pageSize,
int groupSize, int pageNo, String url) {
// 上一页、下一页跳转路径
if (url != null) {
this.url = url;
} else {
this.url = request.getRequestURL() + "";
}
if (pageSize 0)
this.pageSize = pageSize;// 每页多少条记录
if (groupSize 0)
this.groupSize = groupSize;
// 当前第几页
if (pageNo 0) {
this.curPageNo = 0;
} else {
this.curPageNo = pageNo;
}
int curGroup = this.curPageNo / this.groupSize + 1;
// 是否是新的一组数据,如果是则到数据库取数据
this.size = parseInt(request.getSession().getAttribute("page_all_size")
+ "", 0);
if (this.curPageNo % this.groupSize == 0
|| (request.getSession().getAttribute("cur_group") != null parseInt(
"" + request.getSession().getAttribute("cur_group"), 1) != curGroup)
|| this.size == 0 || request.getParameter("reload") != null) {
request.getSession().setAttribute("cur_group", curGroup);
if (pageNo 0
request.getSession().getAttribute("page_sql") != null) {
sql = request.getSession().getAttribute("page_sql") + "";
} else {
request.getSession().setAttribute("page_sql", sql);
}
this.size = getTotalCount(sql);
List list = getPageData(sql, (this.curPageNo / this.groupSize)
* this.pageSize * this.groupSize, this.pageSize
* this.groupSize);
request.getSession().setAttribute("page_all_size", this.size);
request.getSession().setAttribute("page_cur_list", list);
this.setShowList(list);// 设置页面上的显示数据
} else {
this.setShowList((List) request.getSession().getAttribute(
"page_cur_list"));// 设置页面上的显示数据
}
}
/**
* 每次通过sql语句从数据库里面分组取出需要显示的数据
*
* @param request
* javax.servlet.http.HttpServletRequest对象
* @param sql
* String 查询数据库的sql语句
* @param pageSize
* int 每页显示的条数
* @param groupSize
* int 分成多少组
* @param url
* String 页面跳转的路径,若没有特殊的参数传递,可以传入null或"",
* 如是在aciton里面调用,并且action是继承自DispatherAction的话最好传入完整的路径
*/
public void init(HttpServletRequest request, String sql, int pageSize,
int groupSize, String url) {
// 当前第几页
String curPage = request.getParameter("pageNo");
init(request, sql, pageSize, groupSize, parseInt(curPage, -1), url);
}
/**
* 每次通过sql语句从数据库里面分组取出需要显示的数据
*
* @param request
* javax.servlet.http.HttpServletRequest对象
* @param sql
* String 查询数据库的sql语句
* @param pageSize
* int 每页显示的条数
* @param groupSize
* int 分成多少组
* @param url
* String 页面跳转的路径,若没有特殊的参数传递,可以传入null或"",
* 如是在aciton里面调用,并且action是继承自DispatherAction的话最好传入完整的路径
*/
public void init(HttpServletRequest request, String sql, int pageSize,
int groupSize, int pageNo) {
init(request, sql, pageSize, groupSize, pageNo, "");
}
太多了,贴不下,见附件
分页java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于分页 java、分页java代码的信息别忘了在本站进行查找喔。






