在进行web应用开发的时候经常要对Struts分页处理,经常看到一些人在问Struts分页处理的问题,现在我把自己的处理方法写在这儿,希望能对需要进行Struts分页处理的朋友有所帮助。
一、在Struts分页有两种结构:
1. 在Action中通过DAO查询出所有的记录,然后加到session或request对象中,传到客户端,由JSP进行分页。
这种方法对于在数据量少的时候很方便,也不影响速度。
2.在Action中每次通过DAO只查询出一页的记录,再传给JSP页面。
这种结构对于数据量大的程序很好,但对于数据量小的情况,会增加对服务器的请求,加大服务器的负载。
二、Hibernate查询
由于在Hibernate中直接提供了对数据库定点定量的查询方法,所以我采用的是第2种方法。
如:
从第1万条开始取出100条记录
三、具体实现
1.Pager类
Pager类用于计算首页、前一页、下一页、尾页的在数据库中的起始行,当前的页码。
2.PagerHelp类
PageHelper这个类,我不用说应该也知道用来干嘛了
3.DAO类
DAO类我就贴这些分页需要的代码了。
“from VehicleProperty vp”也可以用一个参数传进来,有兴趣的自己改一下吧
4.Action
下面是在Action中用到的代码:/
查询语句select count(*) from VehicleProperty 也可以换成你需要的任意的条件(select count(*) from VehicleProperty where ..)
5.JSP页面使用
下面就是在JSP中的应用了:
="/bussiness/clInfo/queryWithPage.do?method=queryWithPage&pageMethod=first
" paramName="PAGER" paramProperty="currentPage" paramId="currentPage">首页
|
解释一下这一行:"/bussiness/clInfo/queryWithPage.do?method=queryWithPage&pageMethod=first
是由于我的Action继承的是DispatchAction,需要一个method参数
pageMethod=first 是用来在PageHelper类中判断执行哪个操作
四、Struts分页总结
我做的这个也只是一个借鉴,还有很多没有实现的,比如还可以加一下 go 直接到第n页的功能。
其实最关键的是把当前页号和要执行的是功能(上一页,下一页)的参数从页面传进来,在Action中就可以根据这两个参数去取下一个页面上要显示的记录集了
转自http://java.chinaitlab.com/Struts/786180.html
分享到:
相关推荐
下面是一个简化的示例代码片段,展示了如何在Struts2和Hibernate中实现分页功能: ```java // PageTool类定义 public class PageTool { private int pageNum; // 当前页码 private int pageSize; // 每页显示记录...
论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...
在Hibernate中,我们可以使用`Criteria`或`Query`接口实现分页。例如: ```java Session session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Soft.class); ...
这样的分页实现保证了数据的高效加载和用户的流畅体验,同时充分利用了Struts的控制层和Hibernate的数据访问层能力,降低了开发复杂度。在实际项目中,还可以考虑优化如缓存、懒加载等策略来进一步提高性能。
在"Struts + Hibernate 分页实现"这个项目中,重点在于如何在Web应用中整合这两个框架,并实现数据的分页显示。分页是大型数据集处理时常见的需求,它能够帮助用户更有效地浏览和管理大量信息,避免一次性加载所有...
3. **登录功能实现**:在Struts2和Hibernate结合的项目中,登录功能通常涉及用户输入验证、数据库查询等步骤。首先,用户在前端界面输入用户名和密码,提交到Struts2的Action。Action中,通过Hibernate的Session查询...
在Hibernate中,这可以通过设置Query的setFirstResult和setMaxResults方法来实现,这两个方法的参数对应于我们之前计算的startIndex和endIndex。 在获取到分页数据后,我们可以将其封装成一个List对象,并将这个...
Struts2和Hibernate是两种非常重要的Java Web开发框架,它们在构建高效、可维护的Web应用程序中发挥着关键作用。本项目"Struts2+Hibernate实现用户的增删改查"旨在展示如何结合这两种技术来处理数据库操作,实现一个...
Struts 2、Hibernate 和 Spring 是 Java Web 开发中的三个重要框架,它们组合起来可以构建高效、可维护的Web应用程序,尤其是对于复杂的企业级论坛系统。这个基于Struts 2+Hibernate+Spring实现的论坛系统,充分利用...
struts2+hibernate5+MySQL 本项目只是简单模拟教务管理系统的基本功能,通过熟悉的教务管理系统开发来综合训练Struts2和 Hibernate5框架技术的整合应用,并进一步提高项目实践能力。 项目实现的功能包括学生管理部分,...
在"Struts2+Hibernate实现新闻发布系统"中,Action类可能被用来接收用户发布的新闻信息,如标题、内容、发布日期等,然后调用相应的服务或DAO进行处理。 Struts2还提供了拦截器(Interceptor)机制,可以添加自定义...
四、在Struts1+Hibernate中实现分页 1. **配置Hibernate** 首先,我们需要配置Hibernate的SessionFactory,并在Action类中注入SessionFactory实例,以便进行数据库操作。 2. **创建实体类和映射文件** 定义与...
在论坛系统中,Spring作为整个应用的“胶水”,将Struts 2、Hibernate以及其他组件紧密集成在一起。它管理对象的生命周期,处理事务,并通过AOP实现如日志记录、权限验证等横切关注点。 4. **整合三大框架**:...
以上就是SSH框架中使用Struts2和Hibernate实现图片上传的主要知识点,涵盖了Web请求处理、ORM框架、文件上传、数据库操作以及前端交互等多个方面。实际项目开发时,还需要结合具体的业务需求和安全规范进行详细设计...
JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA ...
Struts2和Hibernate是两种非常重要的Java开源框架,它们在企业级Web开发中扮演着核心角色。Struts2是一款强大的MVC(Model-View-Controller)框架,它为构建基于J2EE的Web应用程序提供了结构化的支持。而Hibernate则...
在"Struts2+Hibernate实现登录和增删改"这个项目中,首先我们需要理解这两个框架的核心概念和工作原理: 1. **Struts2**:Struts2的核心是Action类,它处理用户的请求,并通过配置文件(struts.xml)来定义动作与...
总的来说,Struts和Hibernate结合实现的分页功能是Java EE应用中的常见实践,它通过解耦模型和视图,简化了代码编写,提高了开发效率。通过这个例子,你可以进一步掌握这两个框架的集成使用技巧,为你的项目开发带来...
在这个“Struts2+Hibernate实现文件上传”的项目中,我们将探讨如何结合这两个框架来实现在Web应用中上传图片并存储到数据库的过程。 首先,让我们从Struts2的角度来看。Struts2提供了一种灵活的MVC(模型-视图-...
2. **创建实体类**:在Hibernate中,你需要为每个数据库表创建对应的Java实体类,这些类通常继承自Hibernate的BaseEntity,并使用注解(@Entity)来标识为数据库表。 3. **配置Hibernate**:编写hibernate.cfg.xml...