.... List list = new List(); ... int count=0; while(rs.next()) { .... list.add(rs); count ++; ...... } ... //When you want to 分页 for(int i=0;i<count;i++) { list.get(i) } 我没法测试,这只是一个大体的思路。
//When you want to 分页 for(int i=0;i<count;i++) { list.get(i).getString(1); }
不过这样浪费系统资源,百害无一利
List list = new List();
...
int count=0;
while(rs.next())
{
....
list.add(rs);
count ++;
......
}
...
//When you want to 分页
for(int i=0;i<count;i++)
{
list.get(i)
}
我没法测试,这只是一个大体的思路。
for(int i=0;i<count;i++)
{
list.get(i).getString(1);
}
之所以用list可以不用每页访问数据库,可以减少反复对数据库的操作(当然你也可以用preparement语句(也许用他会更好))。
如果不能支持参数配置,就要重新创建新的ResultSet对象。
至于参数,jdk的Doc有详细说明!
2。本来觉得用〈div〉好像不错,可是客户端太多数据了。
3。我想请问:什么叫做用limit分页呀
PageMange.java
package com.ecs.tools;/**
* 此处插入类型说明。
* 创建日期:(2001-4-6 15:15:43)
* @author:lbyy
*/
import com.ecs.tools.PageManageBean;
import com.ecs.base.po.ECSPO;
import com.ecs.base.po.ECSPL;import com.ecs.base.bo.ECSBean; public class PageManage extends com.ecs.base.bo.ECSBO{
/**
* PageMange 构造子注解。
*/private PageManageBean pageManageBean=null;
private ECSPO ecspo=null;
public ECSBean ecsbean=null;
public void setECSPO(ECSPO po){
ecspo=po;
}
public void setECSBean(ECSBean bean){
ecsbean=bean;
}
public void setPageManageBean(PageManageBean tempBean){
pageManageBean=tempBean;
this.resultSize=pageManageBean.getPageSize();
this.startPosition=(pageManageBean.getPageCount()-1)*pageManageBean.getPageSize();
}
public ECSBean query() throws com.ecs.base.exception.ECSCommandExecuteException, java.sql.SQLException{
ECSPL pl = new ECSPL();
pl.setPO(ecspo);
pl.setWhereClause(this.whereSql);
pl.setResultSize(this.resultSize);
pl.setStartPosition(this.startPosition);
pl.retrieve();
ecsbean = (ECSBean)pl.getResultList();
return ecsbean;
}
public PageManage() {
super();
}private int resultSize=0;private int startPosition=0;private String whereSql=" 1=1 ";public ECSBean execute() throws com.ecs.base.exception.ECSCommandExecuteException, java.sql.SQLException{
ECSPL pl = new ECSPL();
pl.setPO(ecspo);
pl.retrieve();
ecsbean = (ECSBean)pl.getResultList();
return ecsbean;
}public int getAvailableCount() throws com.ecs.base.exception.ECSCommandExecuteException, java.sql.SQLException{
int rows=0;
ECSPL pl = new ECSPL();
pl.setPO(ecspo);
pl.setWhereClause(this.whereSql);
try{
pl.retrieve();
rows=pl.getAvailableCount();
}
catch(java.sql.SQLException ex2){
throw new com.ecs.base.exception.ECSCommandExecuteException(ex2.getMessage());
}
catch(java.lang.Exception e){
}
return rows;
}public void setResultSize(int s){
this.resultSize=s;
}public void setStartPosition(int s){
this.startPosition=s;
}public void setWhereSql(String s){
whereSql=s;
}}
PageMangeBean.javapackage com.ecs.tools;/**
* 此处插入类型说明。
* 创建日期:(2001-4-6 15:27:45)
* @author:lbyy
*/
public class PageManageBean extends com.ecs.base.po.bean.ECSBean {
/**
* PageManageBean 构造子注解。
*/
private int currentPage=1; //当前的页数
private int pageSize=10; //每页的条数
private int pageCount=0; //总共的页数
public PageManageBean() {
super();
}
public void setCurrentPage(int i){
this.currentPage=i;
}
public void setPageSize(int i){
this.pageSize=i;
}
public void setPageCount(int i){
this.pageCount=i;
}
public int getPageCount(){
return pageCount;
}
public int getPageSize(){
return pageSize;
}
public int getCurrentPage(){
return currentPage;
}
}page.jsp<%
PageManageBean bean=(PageManageBean)request.getAttribute("pagemanage");
int pagesize=bean.getPageSize(); //每页的条数
int pagecount=bean.getPageCount(); //页数
int count=bean.getCurrentPage(); //总条数
int firstpage=1;
int before=pagecount-1;
int after=pagecount+1;
int last=1;
if((count%pagesize)==0){
last=(count/pagesize);
}
else{
last=count/pagesize+1;
}
%>
<script language=javascript>
<!--
function first(){
form1.page.value = <%=firstpage%> ;
form1.submit();
}
function before(){
form1.page.value = <%=before%> ;
form1.submit();
}
function after(){
form1.page.value = <%=after%> ;
form1.submit();
}
function last(){
form1.page.value = <%=last%> ;
form1.submit();
}-->
</script>
<%=count%>
<input type=hidden name=page >
<input type=hidden name=pagesize value=<%=pagesize%>>
<input type=button value=首页 <%if(pagecount==1){%> disabled <%}%> onclick="first()">
<input type=button value=上一页 <%if(pagecount==1){%> disabled <%}%> onclick="before()">
<input type=button value=下一页 <%if((count>=((pagecount-1)*pagesize)+1)&&(count<=(pagecount*pagesize))){%> disabled <%}%> onclick="after()">
<input type=button value=末页 <%if((count>=((pagecount-1)*pagesize)+1)&&(count<=(pagecount*pagesize))||(pagecount>count)){%> disabled <%}%> onclick="last()">