要做个留言板,但是不会分页,哪个高手教下,我是新手,最好写全点,什么数据库和JSP的代码我都要哈,谢谢,不要太复杂,太复杂我都看不懂了哈

解决方案 »

  1.   

    又见LZ了
    问2次啊
    button用JS控制
      

  2.   

    我的资源里有个jsp+javabean分页源码,注释的相当详细,运行效果不错,下载后即可使用。LZ可以去看看
      

  3.   

    恩  一年前写了个struts 带分页的已上传  原理都一样  动手写几遍就会了
      

  4.   

    //javabean
    public class PageBean{

    private List pageList;//该页的内容集合
    private int totalNum;//内容的总数量
    private int pages; //页数
    private int currentPage; //当前页

    public List getPageList() {
    return pageList;
    }
    public void setPageList(List pageList) {
    this.pageList = pageList;
    }
    public int getTotalNum() {
    return totalNum;
    }
    public void setTotalNum(int totalNum) {
    this.totalNum = totalNum;
    }

    public int getPages() {
    return pages;
    }
    public void setPages(int pages) {
    this.pages = pages;
    }
    public int getCurrentPage() {
    return currentPage;
    }
    public void setCurrentPage(int currentPage) {
    this.currentPage = currentPage;
    }
    }
    public class DAO(){
        //分页查询的方法返回pagebean
        public PageBean findFriendsByPage(int page) {
    // TODO Auto-generated method stub
    PageBean pb=new PageBean();
    List pageList=null;
                     int number = 0;
                     if (page > 1) {
    number = PAGE_NUM * (page - 1);
    }                 //每页显示5个 
    String sql="select top 5 * from message where messageID not in (select top "+number+" messageID from message)";          
    try {
    conn = ConnectionManager.getCon();
    pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery();
    while (rs.next()) {
    Message message = new Message();
    message.setMessageID(rs.getInt("messageID"));
    message.setTitle(rs.getString("title"));
    message.setContent(rs.getString("content"));
    message.setWriter(rs.getString("writer"));
    message.setWriteDate(rs.getString("writeDate"));
    message.setCount(rs.getInt("count")); list.add(message);
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    ConnectionManager.closeAll(conn, pstmt, rs);
    }
                     
    pb.setCurrentPage(page);//当前页

    pb.setPageList(list);//该页的集合!
    int total=findFriendsCount();//查询总数量
    pb.setTotalNum(total);

                     //总页数
    int pages=total%PageBean.showNum==0?total/PageBean.showNum:total/PageBean.showNum+1;

    pb.setPages(pages);

    return pb;
    }
            //查找总数量
            public int findFriendsCount(){
                  String sql="select count(*) from message";
                   int result=0;          
    try {
    conn = ConnectionManager.getCon();
    pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery();
    while (rs.next()) {
        result=rs.getInt(1);
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    ConnectionManager.closeAll(conn, pstmt, rs);
    }             return result;
            } 
    }你在页面上调用DAO里面的方法直接在脚本里面遍历出来!
    上一页,下一页的时候,注意对当前页page+1,或page-1
      

  5.   

    我用的mysql存储过程:tablename-表名,columnname-列名,wherename-查询条件 start-开始记录,size-每页记录
    CREATE  PROCEDURE `pagination`(in tablename varchar(100), in columnname varchar(200), in wherename varchar(400) ,in start int ,in size int)
    beginif(wherename<>null|| wherename<>'') thenset @sql=concat('select ',columnname ,'  from ',tablename,' where ',wherename,' limit ',start,' , ' ,size);set  @sql1=concat('select count(1) from ',tablename ,' where ',wherename );elseset @sql=concat('select ',columnname ,'  from ',tablename,' limit ',start,' , ' ,size);set  @sql1=concat('select count(1) from ',tablename);end if;prepare   stmt1 from @sql1;execute stmt1;prepare   stmt from @sql;execute stmt;end;