怎样实现分页....

zerowjz 2012-06-07 09:49:53
想实现分页效果,不是很懂,求指导,可以说个大概方向,能提供代码更好。。。。


这是后台代码
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;
}


主页面调用代码
<%   

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>
...全文
152 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
建安 2012-06-11
  • 打赏
  • 举报
回复
http://www.open-lib.com/Type/163-1.jsp,用这里的分页插件
gagahahah 2012-06-10
  • 打赏
  • 举报
回复
刚才回复的只是一个简单的分页 实现了基本的功能
gagahahah 2012-06-10
  • 打赏
  • 举报
回复
第一:前台页面起码要有 "当前请求第几页" 和 "每页容纳的页数" 两个标志(可以用 <input type="hidden" />存放)
第二:请求的时候 用js拼凑url地址 把那两个参数也带到后台
第三:后台取得参数以后 拼凑对应的 sql语句 (每个数据库分页sql不一样 你上网查一下)
第四:获得结果以后 把那两个参数修改一下 然后把结果和参数发送到前台
第五:回到第一步(循环了)
----------------------希望帮到你
leandzgc 2012-06-07
  • 打赏
  • 举报
回复
sql分页懂吧?就是从第N条开始取到M条结束的语句。
在页面你需要定义三个变量,当前页,总页数,和每页多少条。然后有上一页,下一页(可以有首页,末尾)按钮,点击后把当前页和每页多少条传递到后台。后台接收参数后处理sql语句分页,查询(点击下一页的情况下)当前页+1然后*每页显示条数计算值为开始记录数;当前条数+每页显示条数为结束记录数。这样把查询结果传递到页面就是下一页的数据了。记住要统计总条数哦。
wolf863292 2012-06-07
  • 打赏
  • 举报
回复
常用的方法,原理就是根据传递的页码来拼接sql语句。
分页例子很多,搜一下吧。
soul850522 2012-06-07
  • 打赏
  • 举报
回复
网上分页的例子太多了,随便找都能找到啊

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧