zoukankan      html  css  js  c++  java
  • JSP---分页

    1、建立java类

    public class StudentManage {
     int pageSize = 3;//每页记录数

    //获取记录总数
    private int getTotalNum(String strWhere) throws SQLException {
    DbAccess dbAccess = new DbAccess();
    int total = 0;
    String sql = "select count(*) from student where 1=1 and " + strWhere;
    dbAccess.excuteQuery(sql);
    ResultSet rs = dbAccess.getRs();
    if (rs.next()) {
     total = rs.getInt(1);
    }
    dbAccess.close();
    return total;
    }

    //获取总页数(即最大的页号)
    public int getMaxPageNo(String strWhere) throws SQLException {
    int maxPageNo;
    if(getTotalNum(strWhere)%pageSize==0)
     maxPageNo=getTotalNum(strWhere)/pageSize;
    else {
     maxPageNo=getTotalNum(strWhere)/pageSize+1;
    }
    return maxPageNo;
    }

    // 获取指定页的记录
    public List<Student> StudList(String strWhere, int page)
    throws SQLException {
    DbAccess dbAccess = new DbAccess();
    List<Student> list = new ArrayList<Student>();
    int total=getTotalNum(strWhere);
    String sql = "select * from student where 1=1 and " + strWhere;
    dbAccess.excuteQuery(sql);
    ResultSet rs = dbAccess.getRs();
    int t = (page - 1) * pageSize + 1;//当前页的首记录号
    if (t <= total) {
     rs.absolute(t);//需要修改DAL层 st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
     do {
      Student student = new Student();
      student.setStud_id(rs.getString("stud_id"));
      student.setStud_name(rs.getString("stud_name"));
      student.setStud_sex(rs.getString("stud_sex"));
      student.setStud_class(rs.getString("stud_class"));
      student.setStud_fav(rs.getString("stud_fav"));
      list.add(student);
      } while (rs.next() && list.size() < pageSize);
     rs.close();
     }
     dbAccess.close();
     return list;
    }

    2、jsp页面调用

    <%
    String curPage = request.getParameter("curPage");
    if (curPage == null || curPage == "") {
     curPage = "1";
    }
    int cp = Integer.parseInt(curPage);
    StudentManage studentManage = new StudentManage();
    int lastPage = studentManage.getMaxPageNo("1=1");
    List<Student> list = studentManage.StudList("1=1", cp);
    %>

    当前第<%=cp%>/<%=lastPage%>页

    <%
    if (cp > 1) {
    %>
    <a href="?curPage=1">第一页</a>&nbsp;
    <a href="?curPage=<%=cp - 1%>">上一页</a>
    <%
    }
    %>
    <%
    if (cp < lastPage) {
    %>
    <a href="?curPage=<%=cp + 1%>">下一页</a>&nbsp;
    <a href="?curPage=<%=lastPage%>">最后一页</a>
    <%
    }
    %>

  • 相关阅读:
    STL:set/multiset用法详解
    STL:list用法详解
    STL:deque用法详解
    STL:vector容器用法详解
    Axure RP chrome插件显示已损坏或者无法安装的解决方法
    怎样知道自己机器的出口网关IP(即外部IP)
    [Selenium]怎样验证页面是否有无变化
    [Selenium]刷新页面 Refresh page
    [SoapUI]怎样获取隐藏元素的文本内容Get text of hidden element
    [SoapUI]怎样从应答报文中获取某个字段的值,然后用其改写某个变量
  • 原文地址:https://www.cnblogs.com/beast-king/p/3851346.html
Copyright © 2011-2022 走看看