当前位置: 代码迷 >> Java Web开发 >> 怎样实现分页.解决方法
  详细解决方案

怎样实现分页.解决方法

热度:3393   发布时间:2013-02-25 21:18:08.0
怎样实现分页....
想实现分页效果,不是很懂,求指导,可以说个大概方向,能提供代码更好。。。。


这是后台代码
Java code
public ArrayList<User> select(String sql){                    ArrayList<User> list = new ArrayList<User>();        Connection conn = null;        Statement stmt = null;        ResultSet rs = null;        try {            conn = getConnection();            stmt = conn.createStatement();            rs = stmt.executeQuery(sql);            while(rs.next()){                       //将rs结果集中的每一条记录都转化成User对象,再放进list中                User user = new User();                    user.setTel(rs.getString("tel"));                user.setUsername(rs.getString("username"));                user.setAddr(rs.getString("addr"));                user.setMail(rs.getString("mail"));                user.setType(rs.getInt("type"));                user.setYf(rs.getDouble("yf"));                user.setNum(rs.getInt("num"));                user.setYb(rs.getInt("yb"));                user.setFp(rs.getInt("fp"));                    user.setPrice(rs.getDouble("price"));                user.setNum(rs.getInt("num"));                user.setId(rs.getString("id"));                                        user.setFk(rs.getInt("fk"));                    list.add(user);            }        } catch (SQLException e) {            System.out.println("Sql异常1");        }        finally{            if(rs!=null){                try {                    rs.close();                } catch (SQLException e) {                    System.out.println("关闭rs时异常");                }            }            if(stmt!=null){                try {                    stmt.close();                } catch (SQLException e) {                    System.out.println("关闭stmt时异常");                }            }            if(conn!=null){                try {                    conn.close();                } catch (SQLException e) {                    System.out.println("关闭conn时异常");                }            }        }        return list;    }


主页面调用代码
Java code
<%                     UsersDAO db = new UsersDAO();         String sql="select *from ZTC";         ArrayList<User> list = db.select(sql);          if(list.isEmpty()==false)         {            for(int i=0;i<list.size();i++)                        {                 User user = list.get(i);      %>                 <tr>                 <td><%=user.getId()%></td>                 <td><%=user.getUsername()%></td>                 <td><%=user.getTel()%></td>                 <td><%=user.getAddr()%></td>                 <td><%=user.getMail()%></td>                 <td><%=user.getType()%></td>                   <td><%=user.getNum()%></td>                 <td><%=user.getYb()%></td>                 <td><%=user.getYf()%></td>                 <td><%=user.getFp()%></td>                 <td><%=user.getPrice()%></td>                   <td><%=user.getFk()%></td>                         <td>


------解决方案--------------------------------------------------------
sql分页懂吧?就是从第N条开始取到M条结束的语句。
在页面你需要定义三个变量,当前页,总页数,和每页多少条。然后有上一页,下一页(可以有首页,末尾)按钮,点击后把当前页和每页多少条传递到后台。后台接收参数后处理sql语句分页,查询(点击下一页的情况下)当前页+1然后*每页显示条数计算值为开始记录数;当前条数+每页显示条数为结束记录数。这样把查询结果传递到页面就是下一页的数据了。记住要统计总条数哦。
------解决方案--------------------------------------------------------
  相关解决方案