java分页代码算法 java分页page类

求java分页算法(最好有注释)我以前的jsp页面嵌入的
%
richen.setpageSize(8);//设置一页显示记录的条数
richen.setuserID(user1.getUerInfo().get("userID").toString());
Vector vect = new Vector();
vect=richen.getData();//取出所有的记录
String pageNumStr=request.getParameter("pageNum"); //取得当前的页码
if(pageNumStr==""||pageNumStr==null)
pageNumStr="1";
int pageNum=Integer.parseInt(pageNumStr);
richen.setpageNum(pageNum); //设置要显示的那页
richen.page();//分页
int i=0;
int first=(richen.getpageNum()-1)*richen.getpageSize(); //计算从哪条记录开始
int last=richen.getpageNum()*richen.getpageSize();//计算到哪条结束
if(richen.getLastpageNum()!=0pageNum==richen.getTotalPage()){ //当最后一页不够时
last=richen.getpageNum()*richen.getpageSize()-(richen.getpageSize()-richen.getLastpageNum());
}
for(i=first;ilast;i){//循环显示当页记录
Hashtable hash = new Hashtable();
hash=(Hashtable)vect.get(i);
%
怎样用java实现分页显示实现原理很简单java分页代码算法,就是建立一个Page类java分页代码算法,里面放当前访问java分页代码算法的页数和每一页显示的记录行数 。然后通过分页计算就可以得出下列数据 。
总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再 1 。
当前页数 。
表记录的起始位置=(当前页数-1)*每页大小 。
总记录数(select count(*) from [表名] [where [条件]] 。从数据库中查询得到)
每页大小,可以固定,也可以从页面传过来有了这几个参数之后,就用sql语句查出对应的记录就可以了 。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言 。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群 。
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言 , 来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题 。
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划 。就在Oak几近失败之时,随着互联网的发展 , Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布 。
Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术 。
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 \ MaxPerPage1
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='https://www.04ip.com/post/list.asp?page=1'首页/a/b]"
response.write "[b" "a href='https://www.04ip.com/post/list.asp?page=" cstr(k-1) "'上一页/a/b]"
else
Response.Write "[首页][上一页]"
end if
if kn then
response.write "[b" "a href='https://www.04ip.com/post/list.asp?page=" cstr(k 1) "'下一页/a/b] "
response.write "[b" "a href='https://www.04ip.com/post/list.asp?page=" cstr(n) "'尾页/a/b] "
else
Response.Write "[下一页][尾页]"
end if
%
%
end if
set rs=nothing
set conn=nothing
%
/body
java 怎么分页?通过rs.next()进行分页,首先用rs.absolute(0)定位到某条记录 。然后循环取数例如:1-10 可以for(int i=0;i10;i){rs.next()}
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 (pageSize0)
this.pageSize = pageSize;// 每页多少条记录
if (groupSize0)
this.groupSize = groupSize;
// 当前第几页
if (pageNo0) {
this.curPageNo = 0;
} else {
this.curPageNo = pageNo;
}
int curGroup = this.curPageNo / this.groupSize1;
// 是否是新的一组数据,如果是则到数据库取数据
this.size = parseInt(request.getSession().getAttribute("page_all_size")
"", 0);
if (this.curPageNo % this.groupSize == 0
|| (request.getSession().getAttribute("cur_group") != nullparseInt(
""request.getSession().getAttribute("cur_group"), 1) != curGroup)
|| this.size == 0 || request.getParameter("reload") != null) {
request.getSession().setAttribute("cur_group", curGroup);
if (pageNo0
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分页代码算法,代码如下:
package com.godwin.news.util;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
/**
* 分页类,用于封闭分页显示信息
*
* @author javabs
*
*/
public class Pager {
// 当前页
private int currentPage;
// 总页数
private int totalPage;
// 总记录数
private int totalRecord;
// 每页条数
private int pageSize;
// 是否有下一页
private int hasNext;
private ArrayList keys;
private ArrayList values;
// 查询串
private String queryString;
// 首页
private String firstLink;
// 上一页
private String previousLink;
// 下一页
private String nextLink;
// 尾页
private String lastLink;
// 链接
private String forScriptLink;
public Pager(int pageSize, String queryString) {
keys = new ArrayList();
values = new ArrayList();
setQueryString(queryString);
setPageSize(pageSize);
}
public String getForScriptLink() {
if (keys.contains("toPage"))
removeKey("toPage");
String tmp = getQueryString();
if (tmp.length() == 0)
return "?";
else
return "?"tmp"";
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(String toPage) {
int tmpage = 1;
try {
tmpage = Integer.parseInt(toPage);
} catch (NumberFormatException e) {
tmpage = 1;
}
if (tmpage1)
tmpage = 1;
else if (tmpagegetTotalPage())
tmpage = getTotalPage();
currentPage = tmpage;
}
public String getFirstLink() {
return getQueryStr(1);
}
public int getHasNext() {
int i = 1;
if (getCurrentPage() = getTotalPage())
i = 0;
return i;
}
public String getLastLink() {
return getQueryStr(getTotalPage());
}
public String getNextLink() {
return getQueryStr(currentPage == totalPage ? currentPage : (currentPage1));
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String getPreviousLink() {
return getQueryStr(currentPage == 1 ? currentPage : currentPage - 1);
}
public void setPreviousLink(String previousLink) {
this.previousLink = previousLink;
}
public String getQueryString() {
StringBuffer sb = new StringBuffer();
for (int i = 0; ikeys.size(); i) {
String key = (String) keys.get(i);
String value = https://www.04ip.com/post/(String) values.get(i);
sb.append("");
sb.append(key);
sb.append("=");
sb.append(value);
}
return sb.delete(0, 1).toString();
}
public void setQueryString(String queryString) {
if (queryString != null) {
String s[] = queryString.split("");
for (int i = 0; is.length; i) {
String s1[] = s[i].split("=");
if (s1.length == 2) {
keys.add(s1[0]);
values.add(s1[1]);
} else {
keys.add(s1[0]);
values.add("");
}
}
}
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage() {
if (totalRecord % pageSize == 0) {
totalPage = totalRecord / pageSize;
totalPage = totalPage == 0 ? 1 : totalPage;
}
else
totalPage = totalRecord / pageSize1;
}
public int getTotalRecord() {
【java分页代码算法 java分页page类】return totalRecord;
}
public void setTotalRecord(int totalRecord) {
this.totalRecord = totalRecord;
setTotalPage();
}
public String[] getQueryParameterValues(String key) {
return getQueryParameterValues(key, "UTF-8");
}
public String[] getQueryParameterValues(String key, String decode) {
ArrayList ret = new ArrayList();
for (int i = 0; ikeys.size(); i)
if (((String) keys.get(i)).equals(key))
try {
ret.add(URLDecoder.decode((String) values.get(i), decode));
} catch (UnsupportedEncodingException e) {
ret.add((String) values.get(i));
}
if (ret.size() == 0)
return null;
String strArr[] = new String[ret.size()];
for (int i = 0; iret.size(); i)
strArr[i] = (String) ret.get(i);
return strArr;
}
public String getQueryParameter(String key) {
return getQueryParameter(key, "UTF-8");
}
public String getQueryParameter(String key, String decode) {
String valuehttps://www.04ip.com/post/= "";
if (key != "toPage") {
try {
value = https://www.04ip.com/post/URLDecoder.decode(getValue(key), decode);
} catch (UnsupportedEncodingException e) {
value = https://www.04ip.com/post/getValue(key);
}
} else {
int tmpage = 1;
try {
value = https://www.04ip.com/post/getValue(key);
tmpage = Integer.parseInt(value);
} catch (NumberFormatException e) {
tmpage = 1;
} catch (NullPointerException e1) {
tmpage = 1;
}
if (tmpage1)
tmpage = 1;
else if (tmpagegetTotalPage())
tmpage = getTotalPage();
value = https://www.04ip.com/post/(new StringBuffer(String.valueOf(tmpage))).toString();
}
return value;
}
public void setQueryParameter(String key, String value) {
if (key.equals("toPage"))
removeKey(key);
keys.add(key);
values.add(value);
}
public String getQueryStr(int toPage) {
setQueryParameter("toPage", (new StringBuffer(String.valueOf(toPage))).toString());
return "?"getQueryString();
}
private String getValue(String key) {
String ret = "";
for (int i = 0; ikeys.size(); i) {
if (!((String) keys.get(i)).equals(key))
continue;
ret = (String) values.get(i);
break;
}
return ret;
}
private void removeKey(String key) {
for (int i = 0; ikeys.size(); i) {
if (!((String) keys.get(i)).equals(key))
continue;
keys.remove(i);
values.remove(i);
break;
}
}
public static void main(String args[]) {
String str = "a=中文aab=2c=3c=4c=5";
Pager page = new Pager(2, str);
page.setTotalRecord(10);
page.setCurrentPage("1");
System.out.println(page.getFirstLink());
System.out.println(page.getPreviousLink());
System.out.println(page.getNextLink());
System.out.println(page.getLastLink());
String s = page.getQueryParameter("a");
System.out.println("s: "s);
}
}
java分页代码算法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java分页page类、java分页代码算法的信息别忘了在本站进行查找喔 。

    推荐阅读