Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35371
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-30 21:58
文章分类

全部博文(24)

文章存档

2014年(2)

2013年(22)

我的朋友

分类: Web开发

2013-11-11 15:02:42




 
 <%
    String sql="select * from 项目动态  order by time desc ";
    ResultSet rs1=sqlbean.executeQuery(sql);
  %>
 
  <%
      int curPages = m_pages.current_Pages ( m_pages.strPage ( request, "page" ) );   
    m_pages.setPage_record ( 5 );//设置每页显示10条   
    rs1.last();//将直指移至最后一笔记录
    int resultconts = rs1.getRow();//取得总的数据数   
    int totalPages = m_pages.getTotal_Pages ( resultconts );//取出总页数
    String sql2 = "select * from 项目动态  order by time desc limit "+(curPages-1)*m_pages.getPage_record()+","+m_pages.getPage_record();
    //取出sql表中第31到40的记录(以自动增长ID为主键)  select * from t order by id limit 30,10;
    ResultSet rs=sqlbean2.executeQuery(sql2);
  %>



    
           
                    <%
                        if(curPages > 1){
                     %>
                  
                   
                    <%} %>
                    
                    <%
                        if(curPages                      %>
                

                 
                     <%} %>
                     
           
       
首页 上一页下一页尾页     当前在第<%=curPages %>页,共<%=totalPages %>页
   

将以上代码复制到需要分页的jsp页面中
将以下java代码放在一个java文件中,供jsp页面调用
package Mybean;

import java.sql.*;   
import javax.servlet.http.*;  

public class Page {
    private String  strPage = null; // page参数变量   
    private int     current_Pages;  // 当前页数   
    
    private int     page_record;    // 设置每页显示记录数   
    private int     total_Pages;    // 总页数   
       
    /**   
     * 取得xxx.jsp页面文件里的xxx.jsp?page=<%=current_Pages-1%>   
     * 或是page=<%=current_Pages+1%>的值给变量strPage   
     * @param request   
     * @param page   
     *            为跳转到的页号   
     * @return strPage   
     */   
    public String strPage ( HttpServletRequest request, String page )   
    {   
        try   
        {   
            strPage = request.getParameter ( page );// request对象取得page的值   
        }   
        catch ( Exception e )   
        {   
            System.out.println ( "delcolumn" + e.getMessage ( ) );   
        }   
        return strPage;   
    }   
       
    /**   
     * 设置要显示的当前页数   
     * @param strPage   
     * @return current_Pages(返回页面数)   
     */   
    public int current_Pages ( String strPage )   
    {   
        try   
        {   
            if ( strPage == null )   
            { // 默认没有就设置是第一页   
                current_Pages = 1;   
            }   
            else   
            {   
                current_Pages = Integer.parseInt ( strPage );// 取得strPage的整数值   
                if ( current_Pages < 1 ) // 如果小于1,同样返回是第一页   
                    current_Pages = 1;   
            }   
        }   
        catch ( Exception e )   
        {   
            System.out.print ( "current_Pages" );   
        }   
        return current_Pages;// 返回页面数   
    }   
       
    /**   
     * @param page_record   
     *            设置每页要显示的记录数   
     */   
    public void setPage_record ( int page_record )   
    {   
        this.page_record = page_record;   
    }   
    
    public int getPage_record() {
        return page_record;
    }

       
    /**   
     * 取得总页数   
     * @param total_record   
     *            总记录数(查询数据库获得)   
     * @return total_Pages 返回总页数   
     */   
    public int getTotal_Pages ( int total_record )   
    {   
        int test;// 变量   
        test = total_record % page_record;// 取得余数   
        if ( test == 0 )   
            total_Pages = total_record / page_record;// 每页显示的整数   
        else   
            total_Pages = total_record / page_record + 1;// 不是整数就加一   
        return total_Pages;   
    }   
       
    /**   
     * 结果集的返回   
     * @param rs   
     *            结果集   
     * @param current_Pages   
     *            页数   
     * @return rs 结果集   
     */   
    public ResultSet getPageSet ( ResultSet rs, int current_Pages )   
    {   
        if ( current_Pages == 1 )   
        {   
            return rs;// 如果就一页,就返回这个rs   
        }   
        else   
        {   
            int i = 1;   
            try   
            {   
                while ( rs.next ( ) )   
                {   
                    i = i + 1;   
                    if ( i > ( ( current_Pages - 1 ) * page_record ) )   
                        break;// 退出   
                }   
                return rs;// 从退出开始将结果集返回   
            }   
            catch ( Exception e )   
            {   
                System.out.print ( e.getMessage ( ) );   
            }   
        }   
        return rs;   
    }   

}






阅读(898) | 评论(0) | 转发(1) |
0

上一篇:JSP 退出系统

下一篇:查询数据库乱码问题

给主人留下些什么吧!~~