实现:首页--上一页--下一页--末页的简单分页实现

实现:首页--上一页--下一页--末页的简单分页实现

代码如下:

Bean中的代码

 

       Dao中的代码

       //获得总的页数

       public int doTotalPage(doPage dopage) {

              int totalPage=0;

              con = ConnectionFactory.getConnection();

              try {

                     ps=con.prepareStatement("select count(*) from news"); 

                     rs=ps.executeQuery();

                     if (rs.next()) {

                       //获得总页数;总页数=上取整(总记录/每页大小)

           //  System.out.println("总记录:"+rs.getInt(1)+"每页大小:"+dopage.getPageSize()+"页数:"+rs.getInt(1)/Double.parseDouble(dopage.getPageSize()+""));

                 totalPage=(int) Math.ceil(rs.getInt(1)/Double.parseDouble(dopage.getPageSize()+""));

                     }

              } catch (SQLException e) {

                            e.printStackTrace();

              } finally {

                     DbClose.close(rs, ps, con);

              }     

              return totalPage;

       }

//查询所有的数据

public doPage doFindAll(doPage dopage) {

ArrayList userlist=new ArrayList();

con= ConnectionFactory.getConnection();

try {

String sql="select * from news limit "+(dopage.getNowPage()-1)*dopage.getPageSize()+"" +

                                   " , "+dopage.getPageSize();

                     ps = con.prepareStatement(sql); 

                     rs = ps.executeQuery();

                     while (rs.next()) {

                            //封装user对象

                 News new1=new News();

                      new1.setNid(rs.getInt("nid"));

                      new1.setNews(rs.getString("news"));

                      new1.setClasses(rs.getString("classes"));

                      new1.setDims(rs.getString("dims"));

                         //向数据集合中添加元素

                      userlist.add(new1);

                     }

                     //将查询的结果封装到doPage

                     dopage.setList(userlist);

              } catch (SQLException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

              } finally {

                     DbClose.close(rs, ps, con);

              }

              return dopage;

       }

 

 

 

Servlet中的代码

// 查询所有的数据,并分页显示

              if (biaoshi.equals("list")) {

                     InsertNews it = new InsertNews();

                     // 封装分页查询的参数的对象doPage

                     doPage dopage = new doPage();

                     dopage.setNowPage(Integer.parseInt(pageNo));

                     dopage.setPageSize(4);

                     // 执行查询操作,参数是doPage

                     dopage = it.doFindAll(dopage);

                     // 得到总的页数

              dopage.setTotalPage(it.doTotalPage(dopage));

                     // 将返回的结果,放到request中到jsp中显示

              request.setAttribute("doPage", dopage);

                     // 页面跳转

              this.gotoPage("Comlist.jsp", request, response);

              }

       }

       // 跳转页面方法

       private void gotoPage(String URL, HttpServletRequest request,

                     HttpServletResponse response) throws ServletException, IOException {

              RequestDispatcher rd;

              rd = request.getRequestDispatcher(URL);

              rd.forward(request, response);

       }

       public void init() throws ServletException {

       }

 

 

Jsp中的代码

<DIV class=Extra>

       <a href="InfoComManage?biaoshi=list&page=1">首页</a>

       <%if (dopage.getNowPage() - 1 > 0) {%>

<SPAN class=Unable> 

<a  href="InfoComManage?biaoshi=list&page=<%=(dopage.getNowPage() - 1)%>">上一页

</a> 

</SPAN>

<%}

if (dopage.getNowPage() + 1 <= dopage.getTotalPage()) {

%>

<a href="InfoComManage?biaoshi=list&page=<%=(dopage.getNowPage() + 1)%>">下一页</a>

<%}%>

<a href="InfoComManage?biaoshi=list&page=<%=dopage.getTotalPage()%>">末页

</a>

</DIV>


 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值