文档章节

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

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

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

            分页是个公共的类,所以放在 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
深圳
产品经理
JAVA SSH 框架介绍

SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。  Struts   Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的...

小梅菜鸟 ⋅ 2012/04/20 ⋅ 0

基于Struts+Spring+Hibernate的使用和部署

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

chenruibing ⋅ 2015/08/18 ⋅ 0

struts+spring+hibernate分别用到了什么设计模式

struts+spring+hibernate分别用到了什么设计模式,请大家知无不答,共同讨论。 并举例说明哪个框架的哪个地方用到了哪个java设计模式.

skyone ⋅ 2012/12/27 ⋅ 14

登陆界面不输密码点一次登陆出现一个用户名和密码不能为空(点n个出现n个)

环境ssh(struts+spring+hibernate) 编写好登陆界面什么都正常,就是点击登陆时无限的出现用户名和密码不能为空 错误原因:没有在action中配置多例,action默认是单例的 scope=“prototype...

lzw_me ⋅ 2014/05/29 ⋅ 0

想学习Struts+Spring+Hibernate给推荐本这样的书吧

想学习Struts+Spring+Hibernate 的整合开发 大家给推荐本这样的书吧 最好是新版的 谢谢了

帅气的鱼 ⋅ 2010/12/16 ⋅ 20

java-学习路线

学习路线 java基础 java基础 java界面编程 java API java语法 AWT java IO 面向对象 事件机制 多线程 常见api Swing 网络编程 集合框架 反射注解 数据库开发 SQL基础 JDBC编程 JDBC高级 SQL基...

zhaoliang1131 ⋅ 2017/01/17 ⋅ 0

excel数据导入导出

各位中午好! 我现在做一个旅游管理系统,遇到一些问题。 如何实现页面点击按钮将EXCEL数据导入到数据中,另外,也能实现点击按钮实现将数据库表导出到EXCEL中。 我用的开发语言是JAVA,数据...

汪斌 ⋅ 2011/03/31 ⋅ 4

异常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 ⋅ 0

ssh三大框架对于新手先学哪个比较好点

学java的,但没有接触过ssh( struts+spring+hibernate),想问一句,先学哪个比较好点?推荐一些好点的书籍或视频也行,

奋斗的少年 ⋅ 2015/04/08 ⋅ 20

SSH框架总结(框架分析+环境搭建+实例源码下载)

首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。 集成SSH框架的系统从职责...

亚特兰缇斯 ⋅ 2015/03/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部