`
antjava
  • 浏览: 8801 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

通用分页【完整版】

    博客分类:
  • JAVA
阅读更多

通用分页☞【jar_over】

    花了半天多的时间终于小见成果,但还是有些可以再封装的地方,今天就做到这里。有兴趣的你们去做吧。以后用起来就很省事了!
    下面是完成这个通用分页所需要的一些技术点,分为展示层页面逻辑封装,和数据表的封装。

通用分页【完整版】
通用分页【页面显示  上】
通用分页【页面显示  下】
通用分页【数据的封装 上】
通用分页【数据的封装 下】
ResultSet自动封装数据到实体对象【上】

 

  com.ant.util 中的 三个类是对我们有用的



打个 jar 包。

 


ok  新建个工程测试下
数据库还是用之前的那个数据库 参见 通用分页【数据的封装 上】 一文中的数据库脚本
项目的组织结构如下:

  为项目添加jstl标签支持 用于页面循环集合数据  编写一个实体类 和数据库中的列名保持一致  新建一个servlet  添加 jdbc.jar / pagination.jar 包


UserInfo.java  实体类

package com.ant.po;
public class UserInfo {
    private int userID;
    private String userName;
    private String userPass;
    public int getUserID() {
        return userID;
    }
    public void setUserID(int userID) {
        this.userID = userID;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserPass() {
        return userPass;
    }
    public void setUserPass(String userPass) {
        this.userPass = userPass;
    }
    public String toString(){
        return "";
    }
}



PageServlet.java   Servlet

 public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //取得jsp页面传递来的页数,参数名 index 不可更改
        String index = request.getParameter("index");
        int ind = 0;
        if (index == null) {
            ind = 1;
        } else {
            ind = Integer.parseInt(index);
        }
        //创建封装数据类的对象 call
        Call call = new Call();
        //创建数组存储 存储过程的参数
        Object obj[] = { "userInfo", "*", "userID", 5, ind, 0, 0 };
        //调用执行存储过程的方法
        List li = call.execProcedure(
                "com.microsoft.sqlserver.jdbc.SQLServerDriver",
                "jdbc:sqlserver://localhost:1433;databaseName=pagination",
                "sa", "sqlpwd", obj, UserInfo.class);
        //保存用户名
        List<String> list = new ArrayList<String>();
        //便利集合
        for (int i = 0; i < li.size(); i++) {
            UserInfo ui = (UserInfo) li.get(i);
            list.add(ui.getUserName());
        }
        //创建 分页对象
        Pagination p = new Pagination();
        //设置页数
        p.setIndex(ind);
        //设置页大小
        p.setPageSize(Integer.parseInt(obj[3].toString()));
        //设置总共的条数
        p.setTotle(call.getTotle());
        //设置数据
        p.setData(list);
        //跳转的路径
        p.setPath("page.do?");
        request.setAttribute("page", p);
        request.getRequestDispatcher("index.jsp").forward(request, response);
    }



index.jsp  页面显示

<%@ page language="java"  pageEncoding="GBK"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
  </head>
  <body>
  <c:forEach items="${requestScope.page.data}" var="li" >
    ${li}<br>
  </c:forEach>
     ${requestScope.page.pageDisplay}
  </body>
</html>


访问下 PageServlet 映射名为 page

 

 

 

 

 

2
0
分享到:
评论
1 楼 qiangshao 2009-08-22  
博主 ,我是看了你这篇文章 到这里的,通过你发的图片 ,我链接到了你的新浪博客
发现你也写了篇文章是关于jdbc代码简化的代码感觉你的判断太多了。 可以看看我的博客。http://qiangshao.iteye.com/blog/455566

相关推荐

    通用分页完整版提供下载

    通用数据分页是指设计一个可复用的分页解决方案,适用于不同的数据源和业务场景。在这个压缩包文件中,我们可以找到一个基于Java OOP(面向对象编程)实现的通用数据分页示例。 首先,让我们深入理解Java OOP在数据...

    小贤PHP通用分页程序

    这个链接可能包含小贤PHP通用分页程序的完整源代码、示例文件、使用文档等相关资源,供开发者下载和参考。 在实际使用中,开发者需要理解PHP的基本语法和数据库操作,以便正确配置和调用此分页程序。此外,熟悉HTML...

    通用PHP分页组件

    通用PHP分页组件是一种高效的解决方案,它解决了在网站开发中处理大量数据时的分页问题。在网页上显示所有数据可能会导致页面加载速度慢,用户体验下降,因此分页成为了一个必要的设计元素。这个PHP分页组件的核心...

    类似淘宝 百度 谷歌的通用分页

    本知识点主要围绕“类似淘宝、百度、谷歌的通用分页”进行详细讲解。 首先,通用分页意味着该分页解决方案可以适用于多种数据库系统,例如Oracle、MSSQL2000和MySQL。Oracle是企业级的关系型数据库管理系统,广泛...

    Oracle通用分页存储过程

    "Oracle通用分页存储过程"就是为了解决这个问题而设计的。分页存储过程通常包含一系列SQL语句和逻辑,用于从数据库中按指定条件获取特定页码的数据。 在Oracle数据库中,实现分页查询通常涉及到`ROWNUM`伪列或者`...

    纯Java分页算法完整版本

    这个我人写的一个纯Java版的分页算法,与平台无关性,具有很好的通用性,同时附带完整的工程; 工程使用SQLServer2005,建表脚本在工程下的Setup中,根据你个人的数据库调整资源文件中的配置即可运行;同时这个算法...

    纯JS前端实现分页代码

    在前端开发中,分页是一种常见的功能,用于处理大量数据的显示,避免一次性加载过多内容导致页面卡顿或用户浏览不便。在这个场景中,我们讨论的是如何使用纯JavaScript实现前端分页,不依赖任何第三方库或插件。下面...

    [其他类别]分页 QQ菜单 jsp标签_noka3.9.zip

    描述中同样提到"[其他类别]分页 QQ菜单 jsp标签_noka3.9.zip",这可能意味着这个项目并不局限于某一特定的IT领域,而是涵盖了一些通用的Web开发技术。"zip"文件格式表明这是一个压缩包,里面包含了相关的源代码和...

    通用Mapper、RESTful Web Service SSM mybatis 笔记

    通过以上步骤,我们可以构建一个完整的SSM项目,结合通用Mapper和分页助手实现数据操作,同时利用RESTful Web Service对外提供服务。在团队开发中,保持开发环境的一致性和规范性,有助于提高开发效率和代码质量。

    李天平-项目中的.NET光盘内容完整版

    李天平-项目中的.NET光盘内容完整版 光盘内容: 1.code:全部章节的源代码。 2.数据库\Codematic:全部章节代码所用示例和权限角色数据库。 3.数据库\SSO:单点登录系统的数据库。 4.通用类库源码: 日常开发封装的...

    php通用网站后台管理.

    此外,jQuery还提供了丰富的插件,如表单验证、分页、数据表格等,为后台管理系统的功能增强提供了便利。 在基于角色的管理中,系统会根据不同的用户角色分配不同的权限,比如管理员可能拥有所有操作权限,而普通...

    易语言Access多条件分页

    3. **启动_禁止组件**:这可能是指在特定操作期间禁用某些用户界面元素,防止用户在数据处理过程中做出干扰操作,确保数据的完整性和一致性。 4. **启动_添加修改设备信息**:这部分代码处理设备信息的录入和编辑。...

    ASP数据库通用模块开发与系统移植3

    4. 数据绑定和分页:为了提高用户体验,通用模块可以提供数据绑定到HTML表格的功能,并支持分页展示大量数据。 二、VC++数据开发基础 1. MFC(Microsoft Foundation Classes):VC++中的MFC库为开发者提供了丰富的...

    PHP实例开发源码——PHP+excel 通用图书信息模糊检索系统 PC网页版.zip

    该压缩包文件“PHP实例开发源码——PHP+excel 通用图书信息模糊检索系统 PC网页版.zip”包含了一个基于PHP的图书信息模糊检索系统的源代码。这个系统利用PHP语言与Excel文件进行交互,实现了在PC端对图书信息的快速...

    java封装前端查询条件通用版

    Java 封装前端查询条件通用版 Java 封装前端查询条件通用版是 Java 语言中的一种通用解决方案,旨在帮助开发者快速构建高效的前端查询条件。该解决方案主要涉及到查询条件的封装、参数处理、分页机制等多个方面。 ...

    新纪元通用人事工资软件升级记录.docx

    - **重要性**:这一修复对于确保数据完整性至关重要,特别是在涉及财务数据的人事管理系统中。 #### 二、版本7.0 (2009.11.17) - **导出至Excel的功能增强**: - 增加了“工作表名称”自定义功能,用户可以根据...

    ibatis mybatis crud 完整代码

    同时,我们也会涉及通用分页这一实用功能。 `iBatis` 是一款由 Apache Software Foundation 维护的开源项目,它最初由 Clinton Begin 创建。`iBatis` 提供了一种将SQL语句与Java代码解耦的方法,通过XML或注解来...

    管理系统系列--layuiAdmin 后台管理模板 完全由 layui 自建的一套前端架构实现而成的通用型后台管理模.zip

    layuiAdmin 是一个基于 layui 框架开发的后台管理模板,专为构建通用型企业管理系统而设计。layui 是一款轻量级的前端组件库,它以其简洁、高效的特性深受开发者喜爱。layuiAdmin 利用 layui 的强大功能,提供了一...

    spring3+hibernate3+struts2

    综合以上,Spring 3、Hibernate 3 和 Struts 2 的组合不仅提供了完整的Web应用解决方案,而且通过通用分页功能,进一步提升了项目的实用性和用户体验。开发者可以充分利用这些框架的强大功能,构建出高效、稳定的...

    跳楼插件第三版for Dvbbs6.0 & 7.0 通用版(改进版)

    有了本插件,你就可以避免上面麻烦的手续,直接跳到想看内容的楼层,完全不必要去按那个分页按钮了。是很方便吧? 插件说明:打开TiaolouForDvbbs.js,可以自定一个参数:MaxP=?,意思是贴子长度达到多少页以后...

Global site tag (gtag.js) - Google Analytics