首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎样实现分页.解决方法

2012-06-14 
怎样实现分页....想实现分页效果,不是很懂,求指导,可以说个大概方向,能提供代码更好。。。。这是后台代码Java

怎样实现分页....
想实现分页效果,不是很懂,求指导,可以说个大概方向,能提供代码更好。。。。


这是后台代码

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然后*每页显示条数计算值为开始记录数;当前条数+每页显示条数为结束记录数。这样把查询结果传递到页面就是下一页的数据了。记住要统计总条数哦。
------解决方案--------------------


第一:前台页面起码要有 "当前请求第几页" 和 "每页容纳的页数" 两个标志(可以用 <input type="hidden" />存放)
第二:请求的时候 用js拼凑url地址 把那两个参数也带到后台
第三:后台取得参数以后 拼凑对应的 sql语句 (每个数据库分页sql不一样 你上网查一下)
第四:获得结果以后 把那两个参数修改一下 然后把结果和参数发送到前台
第五:回到第一步(循环了)
----------------------希望帮到你
[解决办法]
http://www.open-lib.com/Type/163-1.jsp,用这里的分页插件

热点排行
Bad Request.