网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > J2EE > Servlet/Jsp > 实现jsp页面得分页显示功能方案  

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

2004-06-24  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  //接口的定义:
  
  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; 网管网www.bitscn.com
  
    }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() { } 网管网www_bitscn_com
  
   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; 网管u家u.bitsCN.com
  
                实现二:需要键入参数。
  
  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 );

中国网管联盟bitsCN.com


  
    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"> 网管u家u.bitsCN.com
  
      <%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;
  

TAGs   功能   方案   显示   得分   页面   实现   public   int   Exception      
 上一篇:JSP中在内存中生成的图片显示到页面中   下一篇:用JSP 2.0开发Web应用程序
相关文章列表
实现jsp页面得分页显示功能方案 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.配置Eclpise+tomcat与实现JSP部署
2.JSP中include指令和include行为区别
3.在JSP中如何实现MD5加密
4.JSP程序流程图
5.ServletContext与ServletConfig分析
6.让FCKeditor在JSP和JSF项目中跑起来
7.JSP报表打印的一种简单解决方案
8.JSP常用语法
9.实现jsp页面得分页显示功能方案
10.Servlet 容器的工作原理 ( 四 )
最新推荐文章:
1.Java程序员必看--扩展鼠标右键菜单功能
2.JSP、Java实现选择框多级连动
3.JSP操作用以提高数据库访问效率
4.详细解析JSP中九个隐含对象
5.jsp/servlet取参数乱码问题分析
6.择JSF而不选Struts的十大理由
7.关于jsp的定时实现过程
8.一个实用的东西——JSP分页
9.缓冲技术提高JSP程序的性能和稳定性
10.jsp超级链接实现"目标另存为"功能
网管论坛交流:
·不疯魔不成活
·令你大开眼界的真正标准化机房,已整理重
·为赈灾,女孩舍身拍“裸照”
·Windows Server 2003服务器群集创建和配
·exchange2k3全套官方资料
·双儿一周岁了。。。特殊的礼物来啦。。
·存储备份技术版块守则
·无盘技术交流区守则
·DOS命令基础大全之命令详解<作者吐血
·Windows XP 操作系统默认设置需要注意的