关于分页1

一、直接在前台页面分页

1,分别写实体bean跟PageBean,在PageBean写属性result,分别写get和set方法,它的类型为List,用来封装实体bean;

pageBean代码如下:

import java.util.List;

public class PageBean {
 private int totalPage ;
 private int size = 5;
 private int currenPage ;
 private List result;
 public int getTotalPage() {
  return totalPage;
 }
 public void setTotalPage(int totalPage) {
  this.totalPage = totalPage;
 }
 public int getSize() {
  return size;
 }
 public void setSize(int size) {
  this.size = size;
 }
 public int getCurrenPage() {
  return currenPage;
 }
 public void setCurrenPage(int currenPage) {
  this.currenPage = currenPage;
 }
 public List getResult() {
  return result;
 }
 public void setResult(List result) {
  this.result = result;
 }
}

2、写数据库操作的dao类,查询语句类似于select top "+pb.getSize()+" * from user where userId not in(select top "+(pb.getCurrenPage()-1)*pb.getSize()+" userId from users order by userId asc) order by userId asc,将查询的结果放在PageBean中,一定要在数据库操作方法中设置setCurrentPage(page)属性,不然查询出的currentPage永远不是当前的page;

数据库操作代码如下:

public PageBean selectUser(int page){
  PageBean pb = new PageBean();
  pb.setCurrenPage(page);
  con = this.getCon();
  try {
   pst=con.prepareStatement("select top "+pb.getSize()+" * from users where userId not in(select top "+(pb.getCurrenPage()-1)*pb.getSize()+" userId from users order by userId asc) order by userId asc");
   rst = pst.executeQuery();
   List list = new ArrayList();
   while(rst.next()){
    User user  = new User();
    user.setUserId(rst.getInt("userId"));
    user.setUserName(rst.getString("userName"));
    user.setUserPass(rst.getString("userPass"));
    user.setUserSex(rst.getInt("userSex"));
    user.setUserDate(rst.getString("userDate"));
    user.setUserAddress(rst.getString("userAddress"));
    user.setPhone(rst.getString("phone"));
    list.add(user);
   }
   pb.setResult(list);
   return pb;
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   return null;
  }finally{
   this.clossAll(rst, pst, sta, con);
  }
 }

 

 

3、写相应的biz类,在biz中调用dao中的查询方法;

4、写个过滤器,调用biz中的查询方法,并且设置page=1,用于在一开始的时候显示页面类容,如果去掉过滤器,刚进入页面的话就不会有类容显示;

5、写servlet调用biz的查询方法,跟filter不同的是它可以接受jsp页面传过来page的值,调用方法后,将结果放在PageBean中,并设置相应的attribute,如果使用request设置的话,在跳转页面时一定要用request.getRequestDispatcher("index.jsp") .forward(request, response)方法跳转;

6、在jsp页面引入jstl标签,通过el语言分别取的相应实体的值;写分页的连接

代码如下:


<input type="button" value="上一页" οnclick="trunPag(${requestScope.pb.currenPage-1})">&nbsp;&nbsp;
  <input type="button" value="下一页" οnclick="trunPage(${requestScope.pb.currenPage+1})"> 

js代码如下:


<script type="text/javascript">
  function trunPage(p){
   window.location.href="UserServlet?action=show&page="+p;
  }
 </script>

ok!!!在页面分页搞定!!! 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值