hibernate分页时可以显示第一页但是当点下一页时,出现数组下标越界错误,估计是没有取到数据给list所致 具体原因不知道。<%
     
  String hql="from Cpmessage";
  int totalRows=hn.query(hql).size();
  int index=0;
  int amount=9;
  String firstID=request.getParameter("firstID");
  String lastID=request.getParameter("lastID");
  if(firstID!=null){
    int id=Integer.parseInt(firstID);
    index=id-amount-1;
    if(index<0){
      index=0;
    }
  }
  if(lastID!=null){
    int id=Integer.parseInt(lastID);
    index=id;
    if(index>totalRows){
      index=totalRows;
    }
  }
  List pageGoods=hn.query(hql,index,amount);
  Cpmessage firstGoods=(Cpmessage)pageGoods.get(0);
  int last=amount-1;
  if(last>pageGoods.size()){
    last=pageGoods.size()-1;
  }
  Cpmessage lastGoods=(Cpmessage)pageGoods.get(last);
  for(int i=0;i<pageGoods.size();i++){
      Cpmessage cp=(Cpmessage)pageGoods.get(i);
  
  
  %>    共<%out.print(totalRows);%>条数据&nbsp; 
             <%if(index>0){ %>&nbsp;<a href="prcenter.jsp?firstID=<%out.print(firstGoods.getId()); %>">上一页</a><%} %>
      <%if(index+amount<totalRows){ %>&nbsp;<a href="prcenter.jsp?lastID=<%out.print(lastGoods.getId()); %>">下一页</a><%} %>   
                        
      错误信息
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at org.apache.jsp.basic.prcenter_jsp._jspService(prcenter_jsp.java:193) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Thread.java:619)