首先是后台代码:
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>
本人测试过没有问题,
如有问题就留言,谢谢,希望提出宝贵的意见。
分享到:
相关推荐
STRUTS2+HIBERNATE分页 实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码
站静态化,网上内容采集功能超强的CMS(1) 注释语法.chm(1) struts2+hibernate3.2+spring2.5(1) Red+Hat+Enterprise(1) 软件(1) struts分页组件(1) Hibernate(1)
struts2 + spring 3 + hibernate3.3整合实现图书馆管理系统登陆和注册,以及一个对书籍表的增删改查,分页显示。
一个Struts1.2+Spring2.5+Hibernate3.2+Jmesa2.4.3+JmesaTag实现的强大分页控件例子 里 面有action实现分页和标签实现分页2个例子 action实现的分页 包括了表头排序,导出为PDF,TXT, excel等格式 jar包和数据库...
利用ext3+struts2+hibernate+spring的CRUD+分页这四个框架实现crud,详细说明grid的用法,
Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码)
基于struts2+hibernate3+spring的分页组件
spring2.5+struts2.0+hibernate3.0分页
jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载相对应的包. 为了上传jar.我专门申请了一个网盘.所有...
Struts2+Hibernate+Spring+分页+数据库 注意了,只能在IE8上运行,因为我设置的样式不兼容,在其他浏览器上要多难看有多难看。
struts2+hibernate3+spring3分页;附带数据库;能输出结果;数据库采用mysql;
这是一个struts2+hibernate+spring的分页程序加完整的讲解
系统搭建使用struts2 + spring + hibernate + easyui 整合的, 功能包括: 分页查询,自定义页面数据显示量,用户名模糊搜索,创建时间段,更新时间段内用户信息搜索,双击行进行编辑,多行选中删除,右键菜单已经写好...
struts2+hibernate+Spring后台表格分页
三大最新流行框架整合,此实例包括了注册、查询、搜索、分页四大功能,适合入门的人学习,希望对你们有帮助。
2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...
我自己做的简单登录系统,用的是struts1+hibernate+jsp,里面实现了增删改查,还有分页,用了点ajax,局域网之内可以访问,实现了同一用户不能同时在多台机器上同时登陆,呵呵,做的比较累,跟大伙分享分享。
这是一个struts2+hibernate+spring整合的实例,带有分页功能,希望对刚接触struts2的朋友有些帮助。spring2.0,hibernate3.1分页用的是自字义标签,不要少了这个包standard.jar
使用struts2+hibernate+spring整合实现权限管理,使用struts-menu实现菜单,使用valueList实现信息分页
Struts延伸MVC分层结构,Hibernate持久层实现数据库对象化.Spring实现代理各事务. 再通过学习实现了系统分页,上传,论坛等功能。