• 首页
  • 小学语文
  • 中学语文
  • 中学英语
  • 免费论文
  • 教学随笔
  • 学生作文
  • 综合考试
  • 试题教案
  • 育儿话题
  • 教学资源
  • 编程技术
  • 博客
  • 实现jsp页面得分页显示功能方案

    日期:2003-03-18  地址:  作者:

    实现jsp页面得分页显示功能方案:

    com.cn.page.PageBean.java 用于控制分页的情况和数据的处理的。

    com.cn.page.PageView.java 用于在jsp页面中显示表单的。

     

    //接口的定义:

    public interface ContactBean {

      public int getAvailableCount()throws Exception;

      public int getAvailableCount(int id)throws Exception;

      public PageBean listData(String page)throws Exception ;

      public PageBean listData(String page,int id)throws Exception ;

      public Collection getResult()throws Exception;

    }

    //pageBean的定义:

    public class PageBean {

      public int curPage;//当前的页值。

      public int maxPage;//最大的页数。

      public int maxRowCount;//最大的行数。

      public static int rowsPerPage=10; //控制分页的行数。

      public java.util.Collection data; //所要显示的数据的集合。

      public PageBean() {

      }

      public void countMaxPage(){

        if(this.maxRowCount%this.rowsPerPage==0){

          this.maxPage=this.maxRowCount/this.rowsPerPage;

        }else{

          this.maxPage=this.maxRowCount/this.rowsPerPage+1;

        }

      }

      public Collection getResult(){

        return this.data;

      }

      public PageBean(ContactAdapter bean,int id)throws Exception{

        this.maxRowCount=bean.getAvailableCount(id);

        if(maxRowCount==0)

          maxRowCount=1;

        System.out.println(maxRowCount);

        this.data=bean.getResult();

        this.countMaxPage();

      }

      public PageBean(ContactAdapter bean)throws Exception{

        this.maxRowCount=bean.getAvailableCount();

        this.data=bean.getResult();

        this.countMaxPage();

      }

    }

    //ContactBean接口进行adapter模式的封装。方便实用。

    public class ContactAdapter implements ContactBean{

      public ContactAdapter() {  }

      public int getAvailableCount()throws Exception{

        return 0;

      }

      public int getAvailableCount(int id)throws Exception{

        return 0;

      }

      public PageBean listData(String page)throws Exception {

        return null;

      }

      public PageBean listData(String page,int id)throws Exception {

        return null;

      }

      public Collection getResult()throws Exception{

        return null;

      }

    }

     

     

    在使用中你可以实现com.cn.interfaces.ContactBean 或继承 com.cn.interfaces.ContactAdapter都可以。

    实现方法:

                                实现一:其中不需要键入任何参数。

    public int getAvailableCount()throws Exception;

                                  public PageBean listData(String page)throws Exception ;

                                 public Collection getResult()throws Exception;

                                实现二:需要键入参数。

    public int getAvailableCount(int id)throws Exception;

                                 public PageBean listData(String page,int id)throws Exception ;

    public Collection getResult()throws Exception;

    例如:

    Public class TestContact extends ContactAdapter{

           Private Collection data;

           Public int getAvailableCount(int unitID) throws Exception{              

                  BSIResultSet rs = new DBUtil().getResult(“

    select count(*) NUM from TableTest  where unit_id ="+id);

                  return rs.getInt(NUM);

    }

    public PageBean listData(String page,int incept_sort_id)throws Exception {

        PageBean p = new PageBean(this,incept_sort_id);

        int pageNum = Integer.parseInt(page);

        BSIResultSet rs = con.getResult(

    sql, ( pageNum -1)* p.rowsPerPage,, pageNum*p.rowsPerPage  );

        p.curPage = pageNum;

        p.data = this.getTestBean(rs);

    //此方法是把查询的数据封装在一个collection中。

        return p;

    }

    public Collection getResult()throws Exception{

           return this.data;

    }

    }

    其中testBean是封装好的数据bean

    如果没有参数的话。可以使用没有参数的一组接口。

    例如:在jsp中如何是用借口。

           <jsp:useBean id="pageCtl" class="com.cn.page.PageBean" scope="request"/>

        <%     

    Vector c=(Vector)pageCtl.getResult();

                Iterator it=c.iterator();

                while(it.hasNext()){

                    TestBean d=(TestBean)it.next();//的到每一个单独的数据。

                    //可以取出此bean的属性值。

    %>

           。。。。。//属性使用。业务逻辑。

           <form action="test.do" method="post" name="PageForm">

            <%out.print(ViewPage.getView(pageCtl));%>

    </form>

    //显示分页的表单。

     

    加入javaScript的page.js.在jsp页面上加入:

        <script language="JavaScript" src="js/page.js">即可。

    function jumping(){

            document.PageForm.submit();

            return;

    }

    function gotoPage(Pagenum){

            document.PageForm.jumpPage.value=Pagenum;

            document.PageForm.submit();

            return;

    }

    对 实现jsp页面得分页显示功能方案 文章的评论    [查看网友评论]

    验证码:
    匿名发表: