文档章节

struts+spring+hibernate的web应用【4】

ruyees
 ruyees
发布于 2014/10/05 11:47
字数 404
阅读 31
收藏 1

第十三部分:基本的业务层代码就这些了。因为还有分页的业务,所以接下来编写分页的代码。

            分页是个公共的类,所以放在 com.game.commons 中。

                  Pager 类,封装了分页需要的属性,代码如下:

 

package  com.game.commons;

 import  java.math. * ;

 public   class  Pager   {
     private   int  totalRows;  // 总行数 
      private   int  pageSize  =   30 ;  // 每页显示的行数 
      private   int  currentPage;  // 当前页号 
      private   int  totalPages;  // 总页数 
      private   int  startRow;  // 当前页在数据库中的起始行 
     
     public  Pager()   {
    } 
    
     public  Pager( int  _totalRows)   {
        totalRows  =  _totalRows;
        totalPages = totalRows / pageSize;
         int  mod = totalRows % pageSize;
         if (mod > 0 )  {
            totalPages ++ ;
        } 
        currentPage  =   1 ;
        startRow  =   0 ;
    } 
    
     public   int  getStartRow()   {
         return  startRow;
    } 
      public   int  getTotalPages()   {
         return  totalPages;
    } 
      public   int  getCurrentPage()   {
         return  currentPage;
    } 
      public   int  getPageSize()   {
         return  pageSize;
    } 
      public   void  setTotalRows( int  totalRows)   {
         this .totalRows  =  totalRows;
    } 
      public   void  setStartRow( int  startRow)   {
         this .startRow  =  startRow;
    } 
      public   void  setTotalPages( int  totalPages)   {
         this .totalPages  =  totalPages;
    } 
      public   void  setCurrentPage( int  currentPage)   {
         this .currentPage  =  currentPage;
    } 
      public   void  setPageSize( int  pageSize)   {
         this .pageSize  =  pageSize;
    } 
      public   int  getTotalRows()   {
         return  totalRows;
    } 
      public   void  first()   {
        currentPage  =   1 ;
        startRow  =   0 ;
    } 
      public   void  previous()   {
         if  (currentPage  ==   1 )   {
             return ;
        } 
        currentPage -- ;
        startRow  =  (currentPage  -   1 )  *  pageSize;
    } 
      public   void  next()   {
         if  (currentPage  <  totalPages)   {
            currentPage ++ ;
        } 
        startRow  =  (currentPage  -   1 )  *  pageSize;
    } 
      public   void  last()   {
        currentPage  =  totalPages;
        startRow  =  (currentPage  -   1 )  *  pageSize;
    } 
      public   void  refresh( int  _currentPage)   {
        currentPage  =  _currentPage;
         if  (currentPage  >  totalPages)   {
            last();
        } 
    } 
}

 

第十四部分:PagerService 类,主要有个 getPager 方法返回 Pager 类。代码如下:

 

package  com.game.commons;

 public   class  PagerService   {
     public  Pager getPager(String currentPage,String pagerMethod, int  totalRows)   {
         //     定义pager对象,用于传到页面 
         Pager pager  =   new  Pager(totalRows);
         //     如果当前页号为空,表示为首次查询该页
         //     如果不为空,则刷新pager对象,输入当前页号等信息 
           if  (currentPage  !=   null )   {
            pager.refresh(Integer.parseInt(currentPage));
        } 
         //     获取当前执行的方法,首页,前一页,后一页,尾页。 
           if  (pagerMethod  !=   null )   {
             if  (pagerMethod.equals( " first " ))   {
                pager.first();
            }   else   if  (pagerMethod.equals( " previous " ))   {
                pager.previous();
            }   else   if  (pagerMethod.equals( " next " ))   {
                pager.next();
            }   else   if  (pagerMethod.equals( " last " ))   {
                pager.last();
            } 
        } 
         return  pager;
    } 
}

 

 

 

本文转载自:http://zuoqiang.iteye.com/blog/673365

共有 人打赏支持
ruyees
粉丝 3
博文 71
码字总数 0
作品 0
深圳
产品经理
私信 提问
北京国之源软件技术有限公司湖南分公司招聘J2EE开发工程师

北京国之源软件技术有限公司是由中央电化教育馆和国讯教育集团共同投资组建的,为用户提供教育软件产品和教育资源服务,是国家认定的高新技术企业和软件企业。“国之源”作为中央电化教育馆的...

firebull
2011/05/23
523
10
基于Struts+Spring+Hibernate的使用和部署

就现在WEB开发而言,J2EE企业级开发技术比较成熟,开发模式模式也比较繁多,较流行开发模式MVC更是普遍,而基于MVC模式开发的框架也是种类繁多,现在使用最多的可能就是SSH这三种框架,所以展...

chenruibing
2015/08/18
0
0
北京 招聘 java工程师

北京英特达营销发展有限公司 隶属于英特达集团 公司规模300人左右 现招聘Java工程师,要求如下: 岗位职责: 1、参与公司对内、对外IT应用项目的开发与实施任务,包括:系统设计、程序编制、...

freejavaster
2010/11/02
694
2
【猎头】多个Java/c++职位-----上海

投递简历: 联系人: Helen 简历投递至: helen@hr-bearhunter.com Msn: xiaomaoyun@hotmail.com DUKE是一家外商独资的公司,2009年刚刚成立,他们目前在开发一个类似“浏览器”的平台(但不是...

xiaomaoyun
2010/03/26
705
0
异常org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name java.lang.Long

使用了struts+spring+hibernate 在注入的是的时候发生org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name java.lang.Long。大侠帮忙看看......

深蓝的天空
2014/02/11
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

NPM install -save 和 -save-dev 傻傻分不清

本文原文地址:https://www.limitcode.com/detail/59a15b1a69e95702e0780249.html 回顾 npm install 命令 最近在写Node程序的时候,突然对 npm install 的-save和-save-dev 这两个参数的使用...

翔飘飘
4分钟前
0
0
spring-boot:run启动时,指定spring.profiles.active

Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile。 如果要指定spring-boot的spring.profiles.active,则必须使用mvn spring-boot:run -Drun.profiles=test......

颖辉小居
4分钟前
0
0
抛弃console.log(),拥抱浏览器Debugger

译者按: 切换成本真的不高,建议使用开发者工具来Debug! 原文:How to stop using console.log() and start using your browser’s debugger 译者: Fundebug 为了保证可读性,本文采用意译...

Fundebug
8分钟前
0
0
Flask框架web开发:零基础入门

Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁,但又非常灵活,而且容易学习和应用。因此Flask框架是Python新手快速开始web开发最好的选择,此外...

笔阁
21分钟前
5
0
VMware前路难测,多个厂家群雄逐鹿

在人们高谈Salesforce、亚马逊等新兴云计算厂商取得的成就时,以VMware、HPE和Cisco为代表的老牌厂商也在进行着自己的转型和变化,而且还取得一定的进展。以VMware为例,虚拟机巨头公布了第二...

linuxCool
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部