`
lywzj2008
  • 浏览: 29215 次
  • 性别: Icon_minigender_1
  • 来自: 河北省
社区版块
存档分类
最新评论

struts2 +hibernate3.2+ spring2.0 分页

    博客分类:
  • JAVA
阅读更多

首先是后台代码:
page
public PageModel findAllUser(int offset, int pagesize) {
		String queryCountHql = "select count(*) from Users ";

		Query query = getSession().createQuery(queryCountHql);
		int total = ((Long) query.uniqueResult()).intValue();
		
		List datas = getSession().createQuery("from Users as u order by u.id")
		.setFirstResult(offset).setMaxResults(pagesize).list();
		PageModel pm = new PageModel();
		pm.setDatas(datas);
		pm.setTotal(total);
		if(total % pagesize == 0 )
		   pm.setPageTotal(total / pagesize);
		else
		   pm.setPageTotal(total / pagesize +1);
		return pm;
	}


PageModel.java
package com.test.util;

import java.util.List;

public class PageModel {
	// 总记录数
	private int total;
	// 当前页的数据集
	private List datas;
	// 一共几页
	private int pageTotal;
	// 每页多少行
	private int pageSize;

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public List getDatas() {
		return datas;
	}

	public void setDatas(List datas) {
		this.datas = datas;
	}
	
	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getPageTotal() {
		return pageTotal;
	}

	public void setPageTotal(int pageTotal) {
		this.pageTotal = pageTotal;
	}

}

Action代码:
package com.test.action;

import com.opensymphony.xwork2.ActionSupport;
import com.test.service.UsersService;
import com.test.util.PageModel;

public class ListPageAction extends ActionSupport {
	private UsersService userService;
	private PageModel pageModel;
	private int pageNow ;
	public UsersService getUserService(){ 
		return userService;
	}

	public void setUserService(UsersService userService) {
		this.userService = userService;
	}

	@Override
	public String execute() throws Exception {
		this.pageModel= userService.findAllUser(pageNow * pageModel.getPageSize(), pageModel.getPageSize());
		return SUCCESS;
	}

	public PageModel getPageModel() {
		return pageModel;
	}

	public void setPageModel(PageModel pageModel) {
		this.pageModel = pageModel;
	}

	public int getPageNow() {
		return pageNow;
	}

	public void setPageNow(int pageNow) {
		if(pageNow < 0 )
			this.pageNow = 0;
		else
		    this.pageNow = pageNow;
	}


}

applicationContext.xml
<bean id="usersDao" class="com.test.dao.impl.UsersDaoImpl" scope="singleton">
		<property name="sessionFactory">
			<ref local="sessionFactory" />
		</property>
	</bean>
	<bean id="userService" class="com.test.service.impl.UsersServiceimpl">
		<property name="userDao" ref="usersDao"></property>
	</bean>
	<bean id="pageModel" class="com.test.util.PageModel" >
		<property name="pageSize" value="6"></property>
	</bean>
	<!-- Action -->
	<bean id="saveUsersAction" class="com.test.action.SaveUserAction" scope="prototype">
		<property name="usersService" ref="userService"></property>
	</bean>
	<bean id="listPageUserAction" class="com.test.action.ListPageAction" scope="prototype">
		<property name="userService" ref="userService"></property>
		<property name="pageModel" ref="pageModel"></property>
	</bean>


jsp页
<s:iterator id="iter" value="pageModel.datas" status="i">
				<tr>
					<td>
						<s:property value="#iter.id" />
					</td>
					<td>
						<s:property value="#iter.firstname" />
					</td>
					<td>
						<s:property value="#iter.lastname" />
					</td>
					<td>
						<s:property value="#iter.age" />
					</td>
					<td>
						<s:a href="deleteUser.action?users.id=%{#iter.id}">delete</s:a>
					</td>
					<td>
						<s:a href="updatePUser.action?users.id=%{#iter.id}">update</s:a>
					</td>
				</tr>
			</s:iterator>

		</table>
		<s:url id="url_first" value="listUser.action">
			<s:param name="pageNow" value="0"></s:param>
		</s:url>

		<s:url id="url_pre" value="listUser.action">
			<s:param name="pageNow" value="pageNow-1"></s:param>
		</s:url>

		<s:url id="url_next" value="listUser.action">
			<s:param name="pageNow" value="pageNow+1"></s:param>
		</s:url>
		<s:url id="url_end" value="listUser.action">
			<s:param name="pageNow" value="pageModel.pageTotal - 1"></s:param>
		</s:url>

		<s:if test="pageNow > 0">
			<s:a href="%{url_first}" disabled="pageModel.isFirstPage">首页</s:a>
		</s:if>
		<s:else>
		首页
		</s:else>
		<s:if test="pageNow > 0">
			<s:a href="%{url_pre}" disabled="pageModel.isPrev">上一页</s:a>
		</s:if>
		<s:else>
		上一页
		</s:else>
		<s:if test="pageModel.pageTotal > pageNow+1 ">
			<s:a href="%{url_next}" disabled="pageModel.isNext">下一页</s:a>
		</s:if>
		<s:else>
		下一页
		</s:else>
		<s:if test="pageModel.pageTotal > pageNow+1">
			<s:a href="%{url_end}">最后一页</s:a>
		</s:if>
		<s:else>
		最后一页
		</s:else>
		当前:
		<s:property value="pageNow+1" /> / 
		<s:property value="pageModel.pageTotal" id="i" />页
		<br><br><br>


本人测试过没有问题,
如有问题就留言,谢谢,希望提出宝贵的意见。
7
1
分享到:
评论
2 楼 lywzj2008 2009-03-31  
metadmin 写道

如果2个hql语句写到配置文件,或者做为参数传入。那么这就是通用分页了,满足大部分分页需求了。------------------权限管理圈子欢迎您:http://accessmanager.group.iteye.com/



谢谢
1 楼 metadmin 2009-03-30  
如果2个hql语句写到配置文件,或者做为参数传入。那么这就是通用分页了,满足大部分分页需求了。

------------------
权限管理圈子欢迎您:
http://accessmanager.group.iteye.com/

相关推荐

    Struts2+Hibernate3.2+spring2.0+sqlserver2000

    Struts2、Hibernate3.2、Spring2.0和SQL Server 2000是Java Web开发中的四个关键组件,它们构成了一个强大的企业级应用框架,通常被称为SSH2(Struts2、Spring2、Hibernate2)集成框架。下面将详细阐述这些技术以及...

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...

    Struts1.2+Spring2.5+Hibernate3.2+Jmesa2.4.3+Jmesatag实例2分页A

    一个Struts1.2+Spring2.5+Hibernate3.2+Jmesa2.4.3+JmesaTag实现的强大分页控件例子 里 面有action实现分页和标签实现分页2个例子 action实现的分页 包括了表头排序,导出为PDF,TXT, excel等格式 jar包和数据库...

    站静态化,网上内容采集功能超强的CMS(1) 注释语法.chm(1) struts2+hibernate3.2+spring2.5(1) Red+Hat+Enterprise(1) 软件(1) struts分页组件(1) Hibernate(1)

    3. **Struts2**:Struts2是Apache软件基金会的一个开源Java MVC框架,用于构建企业级Web应用程序。它提供了模型-视图-控制器架构,使得开发者可以将业务逻辑、用户界面和数据访问分离开来,增强代码的可维护性和可...

    struts2 + spring 3 + hibernate3.3整合实现图书馆管理管理

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用广泛用于构建复杂的Web应用程序,如本例中的图书馆管理系统。这个系统实现了用户登录和注册功能,并且提供了对书籍表的操作,包括增、删、改...

    ext3+struts2+hibernate+spring的CRUD+分页

    "ext3+struts2+hibernate+spring的CRUD+分页"是一个典型的Java Web开发组合,用于实现全面的数据管理功能。这个组合充分利用了各个框架的优势,提供了一个强大的后端数据处理和前端展示的解决方案。 首先,EXT3是一...

    struts2+spring2+hibernate3注册查询搜索分页实例

    总的来说,这个"Struts2+Spring2+Hibernate3注册查询搜索分页实例"是一个很好的学习资源,涵盖了Java Web开发中的基础和核心部分。通过学习这个实例,开发者不仅可以掌握三大框架的基本用法,还能了解到如何将它们...

    基于Struts 2+Hibernate+Spring论坛系统源码

    Struts 2、Hibernate 和 Spring 是 Java Web 开发中的三个重要框架,它们组合在一起形成了一个强大的后端开发架构。这个基于 Struts 2+Hibernate+Spring 的论坛系统源码提供了学习和理解这些技术如何协同工作的实例...

    spring+struts2+hibernate整合实现分页

    在这个项目中,“spring+struts2+hibernate整合实现分页”是一个基础教程,旨在帮助初学者理解如何在SSH框架下实现数据的分页展示。下面将详细讲解这个主题中的关键知识点。 1. **Spring框架**:Spring是Java应用的...

    远程教育系统(Struts1.2+Hibernate3.1+Spring2.0+Tomcat5.0+SqlServer2005)

    远程教育系统是一个基于Java技术栈的在线学习平台,利用了Struts1.2、Hibernate3.1、Spring2.0和Tomcat5.0等组件,搭配SqlServer2005数据库,构建了一个功能完善的系统。这里我们将深入探讨这些技术及其在远程教育...

    (3.0版本)自己写的struts2+hibernate+spring实例

    jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载相对应的包. 为了上传jar.我专门申请了一个网盘.所有...

    struts2.0+hibernate+spring分页

    在本项目中,“struts2.0+hibernate+spring分页”是将这三种技术结合,实现数据的分页展示功能。分页是一种常见的优化策略,它可以提高用户体验,避免一次性加载过多数据导致页面响应慢或内存压力大。 首先,Struts...

    Struts2+Hibernate+Spring+分页+数据库

    Struts2+Hibernate+Spring+分页+数据库 注意了,只能在IE8上运行,因为我设置的样式不兼容,在其他浏览器上要多难看有多难看。

    struts2+hibernate增删改查+分页

    综上所述,"struts2+hibernate增删改查+分页"是一个基础的Java Web开发示例,它涵盖了MVC架构下,如何利用Struts2处理用户请求,通过Hibernate进行数据库操作,以及实现简单的分页功能。这种组合在实际项目中非常...

    struts2 + spring + hibernate + easyui 整合用户信息管理小案例

    系统搭建使用struts2 + spring + hibernate + easyui 整合的, 功能包括: 分页查询,自定义页面数据显示量,用户名模糊搜索,创建时间段,更新时间段内用户信息搜索,双击行进行编辑,多行选中删除,右键菜单已经写好...

    struts2+hibernate+spring分页

    在"struts2+hibernate+spring分页"的场景中,Struts2将处理分页请求,接收页码、每页显示数量等参数,并调用服务层的方法来获取特定页的数据。 Hibernate是一个持久化框架,它简化了数据库操作,通过ORM(对象关系...

    Struts1.3+Spring4.x+Hibernate4.x框架整合实现对书籍的增删改查(含分页)

    总结来说,"Struts1.3+Spring4.x+Hibernate4.x框架整合实现对书籍的增删改查(含分页)"项目展示了如何使用SSH框架来构建一个功能完善的书籍管理系统。Struts处理用户请求,Spring管理应用组件并提供事务支持,...

    基于struts2+hibernate3+spring的分页组件

    本项目“基于struts2+hibernate3+spring的分页组件”着重于如何在这样的集成环境中实现数据的分页显示。分页是大型数据集展示中常见的需求,它可以提高用户体验,避免一次性加载大量数据导致的性能问题。 在Struts2...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...

    用struts1+hibernate+jsp做的简单的登录系统

    我自己做的简单登录系统,用的是struts1+hibernate+jsp,里面实现了增删改查,还有分页,用了点ajax,局域网之内可以访问,实现了同一用户不能同时在多台机器上同时登陆,呵呵,做的比较累,跟大伙分享分享。

Global site tag (gtag.js) - Google Analytics