日期:2014-05-17  浏览次数:20658 次

jsp的翻页功能怎么做啊?
老师要求从数据库中查询一部分数据,可以提供查询几页.如果还想看再下一页的话,再从数据库中查询,又可提供几页工查询.怎么实现啊,有代码的更好.大家帮帮忙!!

------解决方案--------------------

------解决方案--------------------
分页算法:

package demo.gyl;

public class PageBean {

private int currentPage = 1;// 当前页数

public int totalPages = 0;// 总页数

private int pageSize = 0;// 每页显示数

private int totalRows = 0;// 总数据数

private int startNum = 0;// 开始记录

private int nextPage = 0;// 下一页

private int previousPage = 0;// 上一页

private boolean hasNextPage = false;// 是否有下一页

private boolean hasPreviousPage = false;// 是否有前一页

public PageBean(int pageSize, int currentPage, int totalRows) {

this.pageSize = pageSize;
this.currentPage = currentPage;
this.totalRows = totalRows;

if ((totalRows % pageSize) == 0) {
totalPages = totalRows / pageSize;
} else {
totalPages = totalRows / pageSize + 1;
}

if (currentPage >= totalPages) {
hasNextPage = false;
currentPage = totalPages;
} else {
hasNextPage = true;
}

if (currentPage <= 1) {
hasPreviousPage = false;
currentPage = 1;
} else {
hasPreviousPage = true;
}

startNum = (currentPage - 1) * pageSize;

nextPage = currentPage + 1;

if (nextPage >= totalPages) {
nextPage = totalPages;
}

previousPage = currentPage - 1;

if (previousPage <= 1) {
previousPage = 1;
}

}

public boolean isHasNextPage() {

return hasNextPage;

}

public boolean isHasPreviousPage() {

return hasPreviousPage;

}

/**
* @return the nextPage
*/
public int getNextPage() {
return nextPage;
}

/**
* @param nextPage
* the nextPage to set
*/
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}

/**
* @return the previousPage
*/
public int getPreviousPage() {
return previousPage;
}

/**
* @param previousPage
* the previousPage to set
*/
public void setPreviousPage(int previousPage) {
this.previousPage = previousPage;
}

/**
* @return the currentPage
*/
public int getCurrentPage() {
return currentPage;
}

/**
* @param currentPage
* the currentPage to set
*/
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}

/**
* @return the pageSize
*/
public int getPageSize() {
return pageSize;
}

/**
* @param pageSize
* the pageSize to set
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

/**
* @return the totalPages
*/
public int getTotalPages() {
return totalPages;
}

/**
* @param totalPages
* the totalPages to set
*/
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}

/**
* @return the totalRows
*/
public int getTotalRows() {
return totalRows;
}

/**
* @param totalRows
* the totalRows to set
*/
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}

/**
* @param hasNextPage
* the hasNextPage to set
*/
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}

/**
* @param hasPreviousPage
* the hasPreviousPage to set
*/
public void setHasPreviousPage(boolean hasPreviousPage) {
this.hasPreviousPage = hasPreviousPage;