在网上看了很多分页方法,目前只学会了将数据库所有的数据全查询出来分页显示:语句是String sql="Select COUNT(ID) AS Expr1 From tb_task where Wcbs='"+bs+"'";但是现在我在做查询后显示,利用多条件组合查询,查询出来的结果分页显示俺就不会做了,看了很多没看懂。现在很想学习下怎么做这种查询的分页,请问谁能给个适合初学者学习的分页方法,希望能有详细点的解释,因为刚入门,如果没解释或者太复杂了,实在是看不懂,所以想请教下有没有适合初学者用的方法,希望能有个例子,谢谢。

解决方案 »

  1.   

    www.csdn.net 上面有你需要的例子下载 你去看看吧。
      

  2.   

    给个例子你看看:
      <%@ page language="java"
    import="java.util.*,app.information.model.DriverList"
    pageEncoding="gbk"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="cc"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%
    int pageSize=0; //一个页面显示的记录数目 
    int totalRowCount=0; //总的记录的数目 
    int pageCount=0; //总的页数 
    int nextPageNo=0; //待显示页面的页号 
    pageSize = 3; //设置一个页面所要显示的记录的数目为10条 
    int hasRead = 0; //用于统计从数据库中读取记录的数目(不能超过一个页面所能显示的记录数pageSize) 
    String strPage = request.getParameter("page");
    System.out.println(strPage);
    System.out.println("asdfasdfddffliiiil");
    if (strPage == null) { //如果page传递的页码参数为空 
    nextPageNo = 1; //设置当前页面为第1页 
    } else {
    nextPageNo = Integer.parseInt(strPage);
    if (nextPageNo < 1) { //如果page传递的参数为负数 
    nextPageNo = 1; //则显示第1页 
    }
    }


    %>
    <html>
    <head> <title>My JSP 'driverDisplayList.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    --> </head> <body>
    <table>
    <tr>
    <th>
    emp_id
    </th>
    <th>
    trade
    </th>
    <th>
    host
    </th>
    <th>
    phone
    </th>
    </tr>
    <%
    List list = (List) request.getAttribute("app.info.display.drivrList");//这为你传进来的数据集
    System.out.println(list);
    if (list.isEmpty()) {

      out.println("<tr colspan=3>没有记录存在</tr>");
        } 
        else 
        {
                        totalRowCount = list.size(); //获取当前行的行号,即为总的记录数目 
            pageCount = (totalRowCount + pageSize - 1) / pageSize; //获取分页数目 
           if (nextPageNo > pageCount) {
          nextPageNo = pageSize; //当前页号大于分页的数目,则当前页号就为分页的数目 
              }
    int readFlag = (nextPageNo - 1) * pageSize;
    hasRead = readFlag;
    for (; hasRead < list.size() && hasRead < (readFlag + pageSize); hasRead++) { DriverList dlist = (DriverList) list.get(hasRead);
    %>
    <tr>
    <td>
    <%=dlist.getId()%>
    </td>
    <td>
    <%=dlist.getTrade()%>
    </td>
    <td>
    <%=dlist.getHost()%>
    </td>
    <td>
    <%=dlist.getPhone()%>
    </td>
    </tr>
    <%
    } }
    %>
    </table>
    <br>

    <%=nextPageNo%>
    页 共
    <%=pageCount%>

    <%
    if (nextPageNo < pageCount) {
    %>
    <!--待显示的页号小于总的分页数时,显示“下一页"超链接;第一页只显示"下一页"超链接-->
    <a href="displayDriverList.jsp?page=<%=nextPageNo + 1%>">下一页</a>
    <%
    }
    %> <%
    if (nextPageNo > 1) {
    %>
    <!--待显示的页号大于1时,显示“上一页"超链接;最后一页只显示"上一页"超链接-->
    <a href="displayDriverList.jsp?page=<%=nextPageNo - 1%>">上一页</a>
    <%
    }
    %> </body>
    </html>
      

  3.   

    其实分页很简单.他最终还是利用的数据库表里面的rownum.
    我用的hibernate分页,到最后打出来的Sql是?<rownum<?