50分求一个jsp的分页方法,jdbc--sql2000
如题
[解决办法]
up
[解决办法]
友情帮顶
[解决办法]
package com.ts;
import java.util.ArrayList;
import java.util.List;
public class PageInfo {
List arrayList;
List pagelist;
//分页信息定义
int totalRows = 0; //总数据数
int pageRecorders = 20;//每页显示记录数
public int totalPages = 0; //总页数
int pageStartRow = 0;//每页的起始数
int pageEndRow = 0; //每页显示数据的终止数
int currentPage = 1;//当前页
boolean hasNextPage = false; //是否有下一页
boolean hasPreviousPage = false; //是否有前一页
public int getTotalRows() {
return totalRows;
}
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}
public int getPageRecorders() {
return pageRecorders;
}
public void setPageRecorders(int pageRecorders) {
this.pageRecorders = pageRecorders;
}
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
public int getPageStartRow() {
return pageStartRow;
}
public void setPageStartRow(int pageStartRow) {
this.pageStartRow = pageStartRow;
}
public int getPageEndRow() {
return pageEndRow;
}
public void setPageEndRow(int pageEndRow) {
this.pageEndRow = pageEndRow;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public boolean isHasNextPage() {
return hasNextPage;
}
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}
public boolean isHasPreviousPage() {
return hasPreviousPage;
}
public void setHasPreviousPage(boolean hasPreviousPage) {
this.hasPreviousPage = hasPreviousPage;
}
//创建初始化对象
public PageInfo(List arrayList,int pageRecorders) {
this.arrayList = arrayList;
this.pageRecorders=pageRecorders;
totalRows = arrayList.size();//获得总数据数
//获得总页数
if ((totalRows % pageRecorders) == 0) {
totalPages = totalRows / pageRecorders;
} else {
totalPages = totalRows / pageRecorders + 1;
}
totalPages = (totalPages==0)? 1 : totalPages;
//设置第一页开始位置和结束位置
if (totalRows < pageRecorders) {
this.pageStartRow = 0;
this.pageEndRow = totalRows;
} else {
this.pageStartRow = 0;
this.pageEndRow = pageRecorders;
}
//是否有下一页
if (currentPage > = totalPages) {
hasNextPage = false;
} else {
hasNextPage = true;
}
}
//转到页面
public List getPageList(int currentPage) {
if (currentPage <= 0) {
currentPage = 1;
}
if (currentPage > = totalPages) {
currentPage = totalPages;
hasNextPage = false;
} else {
hasNextPage = true;
}
if (currentPage > 1) {
hasPreviousPage = true;
} else {
hasPreviousPage = false;
}
if (currentPage * pageRecorders < totalRows) {//判断是否为最后一页
pageEndRow = currentPage * pageRecorders;
pageStartRow = pageEndRow - pageRecorders;
} else {
pageEndRow = totalRows;
pageStartRow = pageRecorders * (totalPages - 1);
}
List pagelist = new ArrayList();
for (int i = pageStartRow; i < pageEndRow; i++) {
pagelist.add(arrayList.get(i));
}
return pagelist;
}
}
[解决办法]
用newxy特简单,不写一行java代码,在线演示:http://www.newxy.net/zh_cn/samples/sample1/demo.jsp
<%@ page contentType= "text/html; charset=GBK " %>
<%@ taglib uri= "/WEB-INF/struts-bean.tld " prefix= "bean " %>
<%@ taglib uri= "/WEB-INF/struts-html.tld " prefix= "html " %>
<%@ taglib uri= "/WEB-INF/struts-logic.tld " prefix= "logic " %>
<%@ taglib uri= "/WEB-INF/newxy-html.tld " prefix= "nhtml "%>
<%@ taglib uri= "/WEB-INF/newxy-logic.tld " prefix= "nlogic "%>
<%@ taglib uri= "/WEB-INF/newxy-bean.tld " prefix= "nbean "%>
<nhtml:javascripts/>
<nhtml:stylesheets/>
<nbean:formBean name= "industry " sql= "select * from industry "/>
<logic:present name= "industry ">
<logic:notEmpty name= "industry " property= "_coll ">
<div align= "center " style= "font-size:14px "> <b> == 行 业 == </b> </div>
<div> <nlogic:navigate formName= "industry " length= "20 "/> </div>
<table>
<nlogic:iterate id= "rec " name= "industry " property= "_coll ">
<nhtml:TR >
<td style= "font-size:14px;color:#000088;cursor:hand ">
<bean:write name= "rec " property= "code "/>
<bean:write name= "rec " property= "industry "/>
</td>
</nhtml:TR>
</nlogic:iterate>
</table>
</logic:notEmpty>
</logic:present>
[解决办法]
give me your email
[解决办法]
xteo27(迷你苏打) 的代码也就偏偏小孩吧,上万条数据估计服务器就挂了,用sql语句的分页最好,sql server用 "select top x * from 表 where 主键 not in (select top (y-1)*x 主键from 表) "
mysql更简单,用limit就可以了
[解决办法]
email已发 请查收