`
superallen
  • 浏览: 141721 次
  • 来自: ...
社区版块
存档分类

spring+hibernate+pager taglib实现分页(底层也做了分页)(二)

阅读更多
现在说中间的控制层。

在Struts的FORM中,增加private int pageDisplay = 10; 属性,并增加对应的setter和getter方法。这个属性是用来设置每页显示的记录数,10是默认值,可以根据实际情况进行设置。

在Struts的ACTION层,增加一个方法,代码如下
java 代码
  1. package com.excellence.struts.action;   
  2.   
  3.   
  4. import java.util.List;   
  5.   
  6.   
  7. import javax.servlet.http.HttpServletRequest;   
  8.   
  9. import javax.servlet.http.HttpServletResponse;   
  10.   
  11.   
  12. import org.apache.struts.action.Action;   
  13.   
  14. import org.apache.struts.action.ActionForm;   
  15.   
  16. import org.apache.struts.action.ActionForward;   
  17.   
  18. import org.apache.struts.action.ActionMapping;   
  19.   
  20.   
  21. import com.excellence.page.Service;   
  22.   
  23. import com.excellence.struts.form.CheckForm;   
  24.   
  25. public class CheckAction extends Action {   
  26.   
  27. public ActionForward execute(   
  28.   
  29. ActionMapping mapping,   
  30.   
  31. ActionForm form,   
  32.   
  33. HttpServletRequest request,   
  34.   
  35. HttpServletResponse response) {   
  36.   
  37.   
  38.   
  39. setSubPage(request,form);   
  40.   
  41.   
  42.   
  43. return mapping.findForward("result");   
  44.   
  45. }   
  46.   
  47.   
  48.   
  49. private void setSubPage(HttpServletRequest request,ActionForm form){   
  50.   
  51. CheckForm thisForm = (CheckForm)form;   
  52.   
  53. String content = thisForm.getContent();//查询条件中的内容   
  54.   
  55. Service service = new Service();   
  56.   
  57.   
  58.   
  59. //拿到每页要显示的记录数   
  60.   
  61. int pageSize = thisForm.getPageDisplay();   
  62.   
  63. request.setAttribute("pageSize",pageSize+"");   
  64.   
  65. //拿到目前要显示得页数   
  66.   
  67. int pageNumber = 1;   
  68.   
  69. String strPageNumber = request.getParameter("page");   
  70.   
  71. if(strPageNumber != null)   
  72.   
  73. pageNumber = Integer.parseInt(strPageNumber);   
  74.   
  75. //计算要显示的页数得第一条记录的位置   
  76.   
  77. int start = 0;   
  78.   
  79. start = (pageNumber - 1)*pageSize;   
  80.   
  81.   
  82.   
  83. List result = service.findByCondition("from Subpage where content like ? order by content",new Object[]{content},start,pageSize);    
  84.   
  85.    List counts = service.findByCondition("select count(*) from Subpage where content like ?",new Object[]{content});   
  86.   
  87. int count = Integer.parseInt(counts.get(0).toString());   
  88.   
  89. request.setAttribute("count",count+"");//总条数   
  90.   
  91.   
  92.   
  93. // 设置总页数   
  94.   
  95. int totalPage = count % pageSize == 0 ? count / pageSize : (count / pageSize + 1);   
  96.   
  97. request.setAttribute("totalPage",totalPage+"");   
  98.   
  99.   
  100.   
  101. request.setAttribute("result",result);   
  102.   
  103. if(result.size() == 0)   
  104.   
  105. request.setAttribute("result",null);   
  106.   
  107. }   
  108.   
  109. }   
  110.   
  111.   
主要就是增加了一个私有的方法private void setSubPage(HttpServletRequest request,ActionForm form)。
分享到:
评论
2 楼 superallen 2007-02-04  
JSP的内容已经写出来了
1 楼 wubaodan 2007-02-04  
你的JSP放上来看看

相关推荐

    j2ee中struts+hibernate+spring+pager-taglib分页实例

    ### j2ee中struts+hibernate+spring+pager-taglib分页实例 #### 概述 在Java企业级应用开发中,Struts、Hibernate、Spring与Pager Taglib经常被联合使用,以构建高性能、高灵活性的应用系统。本文将详细介绍如何...

    使用pager-taglib实现分页显示的详细步骤

    本文将详细介绍如何利用`pager-taglib`结合SSH(Struts、Spring、Hibernate)框架实现从前端到后端的分页功能。 #### 一、准备工作 在开始之前,确保项目环境中已经引入了Struts、Spring、Hibernate以及`pager-...

    ssh+分页(pager-taglib)

    本资源融合了struts+spring+hibernate的集成,并充分运用jsp开源分页标签(pager-taglib)进行了分页。支持多条件的分页查询。由于上传大小限制,本人被迫将所用到的jar包目录删除,所需的几个必备jar包我已留在本...

    ssh+pager taglib分页实现

    在IT行业中,SSH(Spring、Struts、Hibernate)是一个经典的Java Web开发框架组合,而`pager`则是分页功能的一种实现。在这个主题中,我们将深入探讨如何在SSH框架下使用`pager`标签库来实现高效的分页显示。首先,...

    pager-taglib实现Google分页

    本主题将深入探讨如何利用pager-taglib库实现类似于Google的高效分页效果,该库是基于Spring、Struts和Hibernate(SSH)框架的。下面我们将详细讲解相关知识点。 首先,** pager-taglib **是一个自定义的JSP标签库...

    pager-taglib-2.0

    "pager-taglib-2.0" 可以无缝集成到Spring MVC、Struts等主流Java Web框架中,与ORM框架如Hibernate、MyBatis配合使用,简化数据分页的处理流程。 7. **注意事项** - 要确保正确配置了Taglib的URI,否则可能会...

    SSHConformity【display标签和taglib标签缺架包】,ssh整合,分页,display标签,pager-taglib标签

    总的来说,SSHConformity项目展示了如何通过SSH整合实现企业级应用,而Display Tag和Pager Taglib的使用则优化了数据展示和分页操作,提高了用户体验。在实际开发中,理解并掌握这些技术将有助于构建高效、易维护的...

    OA pagertaglib ssh2 增删改查

    本项目以“OA pagertaglib ssh2 增删改查”为主题,涉及到的关键技术包括SSH2框架、PagerTaglib分页库以及增删改查的基础操作。 首先,SSH2是指Spring、Struts2和Hibernate这三个开源框架的组合,它们是Java Web...

    Pager Tag Lib分页操作源码

    本篇文章将深入探讨Pager Tag Lib在SSH2(Spring、Struts2、Hibernate2)框架中结合JSTL的使用方法和实现原理。 首先,SSH2是一个强大的企业级应用开发框架,Spring负责依赖注入和事务管理,Struts2作为MVC框架处理...

    SSHConformity【display标签和taglib标签】,display标签,pager-taglib标签

    SSHConformity是一个基于Spring、Struts和Hibernate的开源项目,它集成了多种标签库,以简化Web开发过程。在SSHConformity中,`display标签`和`taglib标签`是两个重要的组件,主要用于页面展示和数据分页。 1. **...

    java学生成绩管理系统源码数据库 MySQL源码类型 WebForm

    JAVA学生成绩管理系统源码 开发语言:JAVA, 框架:SSH+Mysql+jsp (struts2 + spring + hibernate) 带有Mysql数据库和漂亮的后台管理功能 ... 分页使用的是pager-taglib框架 7. 后台登陆使用的是frameset框架

    struts2 spring hibernate所需jar包

    struts2+spring2.5+hibernate3.2整合所需的所有jar包,并额外包含了dwr.jar、分页组件pager-taglib、绘图组件jfreechart.jar、Excel解析工具包jxl.jar、数据库连接池工具包proxool.jar

    S2SH整合pager-taglibs示例

    本示例主要关注的是如何在Struts2框架中整合`pager-taglibs`,它是一个强大的分页标签库,能够帮助开发者在页面上轻松实现数据的分页展示,提升用户体验。`pager-taglibs`使得在JSP页面中处理大量数据变得更加简洁...

    标签: OA 项目 SSH2 增删改查

    分页功能是大型系统中常见的需求,本项目利用了pager-taglib库来实现这一功能。Pager-taglib是基于JSP标签库的一种分页工具,它可以在页面上显示分页链接,同时处理分页请求,为查询结果进行分页显示。这种方式使得...

    SSH集成所需要的jar包

    - `pager-taglib.jar`: 这个库提供了分页标签,方便在JSP页面中实现数据的分页显示。 这些jar包共同构成了SSH集成的基础,使得开发者可以构建出结构清晰、易于维护的Java Web应用程序。通过Struts处理用户请求,...

    企业管理OA系统

    "分页利用了pager-taglib",这意味着开发团队使用了自定义的JSP标签库来实现页面的分页显示。Pager-taglib通常提供了一种简便的方式来分页查询数据库,它可以帮助优化性能,避免一次性加载大量数据到页面,提高用户...

    OA 项目 SSH2 增删改查

    这个OA项目使用了`pager-taglib`标签库进行分页,这是一款基于JSTL的分页标签,它可以方便地在JSP页面中实现动态的分页效果,减轻服务器负载,提升用户体验。 6. **组织管理与人员管理**:在OA系统中,这两部分涉及...

    J2EE开发基础包集合.zip

    5. pager-taglib:这是一个专门用于分页显示数据的JSP标签库,通常用于表格或者列表的分页展示,能够帮助开发者轻松地实现大数据集的分页处理,提升用户体验。 这个压缩包的文件名称列表虽然没有具体列出各个子文件...

    J2EE开发之常用开源项目介绍

    Pager-taglib 是一种专门用于分页处理的标签库,它可以自动完成分页逻辑,大大简化了开发者的编码工作。 - **特点**: - 支持多种分页算法,可以根据实际需求进行选择。 - 提供了直观的用户界面,方便用户进行...

Global site tag (gtag.js) - Google Analytics