1、action中的写代码
/**
* 查询用户留言。
*/
public String queryMessage() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
LeaveMessageDao pdd = new LeaveMessageDao();
int offset=0 ;
try{
//获得表单传过来的数据。
String pager = request.getParameter("pager.offset");
if(pager!=null) offset = Integer.parseInt(pager);
}catch(NumberFormatException e){
e.getMessage();
e.printStackTrace();
}
//将返回来的pageModel对象保存到pm中,这样在页面就是通过request来访问里面的数据。
request.setAttribute("pm", pdd.queryMessage(offset,10));
return SUCCESS;
}
2、业务逻辑dao中的方法
/**
* 得到留言的数据和总数记录数。
* @param offset 起始的记录数
* @param pagesize 每一页显示多少条记录
* @return
* @throws Exception
*/
public PagerModel queryMessage(int offset,int pagesize)throws Exception {
List<LeaveMessage> list = new ArrayList<LeaveMessage>();
//Session se = HibernateSessionFactory.getSession();
//或得所有留言的数据(数据库里面的一张表)
String hql="select a from LeaveMessage as a";
//或得留言的总记录数。
String hqlCount = "select count(id) from LeaveMessage";
PagerModel pm = null;
try {
Session session = HibernateSessionFactory.getSession();
session.beginTransaction();
//得到总的记录数。
int total = ((Long) session.createQuery(hqlCount).uniqueResult())
.intValue();
//在总记录数中取出一页的记录(从offset开始取出pagesize条记录来)放在一个list中。
list = session.createQuery(hql).setFirstResult(offset)
.setMaxResults(pagesize).list();
//将取出来的一页的数据和留言的总记录数放到一个对象中。
pm = new PagerModel();
//记录集数据。
pm.setDatas(list);
//总记录数。
pm.setTotal(total);
session.beginTransaction().commit();
session.flush();
HibernateSessionFactory.closeSession();
} catch (HibernateException e) {
e.getMessage();
e.printStackTrace();
throw(e);
} catch(Exception e ){
e.getMessage();
e.printStackTrace();
throw(e);
}
return pm;
}
3、pageModel类中的实现
package com.sipu.wcme.util;
import java.util.List;
public class PagerModel {
private List datas;
private int total;
public List getDatas() {
return datas;
}
public void setDatas(List datas) {
this.datas = datas;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
}
4、struts中的配置文件
<package name="newscenter" extends="struts-default" namespace="/newscenter/message">
<!-- 分页显示用户留言 -->
<action name="message_list" class="com.sipu.wcme.action.newscenter.LeaveMessageAction" method="queryMessage">
<result>my_cantonfair_msg_list.jsp</result>
</action>
</package>
5、jsp页面分页显示代码
在页面顶部引入taglib标签:
//利用标签取数据的标签。
<%@ taglib uri="/struts-tags" prefix="s" %>
//分页的标签。
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
<DIV id=voices>
<UL>
<!-- 利用迭代器将数据库里面的数据取出来显示-->
<!-- 利用request来获取数据库里返回来的数据 -->
<s:iterator value="#request.pm.datas" >
<DIV class=list><SPAN><s:property value="content"/><BR></SPAN>
<BR><SPAN>-------<s:property value="company"/></SPAN>
</DIV>
</s:iterator>
</UL>
</DIV><BR><BR>
<DIV style="TEXT-ALIGN: right; BACKGROUND-COLOR: #cccccc">
<div class="page" style="TEXT-ALIGN: right; margin-right:100px; BACKGROUND-COLOR: #cccccc">
<pg:pager url="newscenter/message/message_list.action" items="${pm.total}">
<!-- url 是执行action的路径。items是总记录数 -->
<pg:first>
<a href="<%= pageUrl %>">首页</a>
</pg:first>
<pg:prev>
<a href="<%= pageUrl %>">前页</a>
</pg:prev>
<pg:pages>
<a href="<%= pageUrl %>"><%= pageNumber %></a>
</pg:pages>
<pg:next>
<a href="<%= pageUrl %>">后页</a>
</pg:next>
<pg:last>
<a href="<%= pageUrl %>">尾页</a>
</pg:last>
</pg:pager>
</div>
<DIV class=clear></DIV></DIV>
分享到:
相关推荐
j2ee中struts+hibernate+spring+pager-taglib分页实例 这套解决方案,是按照MVC的模式来做的,基于STRUTS框架。分为三个部分,表现层用的是JSP,其中用了JSTL和pager taglib做分页;控制层就是用的很传统的Action;...
通过网上搜集资料,实现了一个struts2+hibernate+pager-taglib的分页小例子,大家在运行例子前,请一定要看包里面的readme.txt文件。里面有环境的搭建。
轻量级 J2EE 企业应用实战 -- Struts+Spring+Hibernate 整合开发笔记 本资源为轻量级 J2EE 企业应用实战开发笔记,涵盖 Struts、Spring 和 Hibernate 三大框架的整合开发实践。笔记从 JDK 安装和配置环境变量开始,...
Myeclipse开发struts+hibernate+spring新手入门---环境配置----项目开发示例 Myeclipse开发struts+hibernate+spring小记 开发前准备工作: 1、下载eclipse3.1版本 下载地址: 2、下载Myeclipse插件 下载地址: 3...
a、利用Struts提供的taglib可以大大节约开发时间。 b、维护扩展比较方便。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。 c、表现与逻辑分离 d、表单验证解决了请求数据的...
实际上她是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合,会形成多种不一样的分页页面,风格各异,她自带的DEMO就有七种左右的分页风格,包括Google的分页风格。而需要订制自已...
jsp使用自定义标签taglib分页系列——完整例子
jsp+dtree+taglib自定义标签 动态生成树节点,jsp页面只需要用自定义的标签,我用的是的mysql数据库,并且提供了建立表的sql语句和插入数据的语句。
功能:分页查看表中的记录。 jsp中的分页采用pager-taglib,在底层的分页使用的是hibernate,数据库使用的是oracle。
本资源融合了struts+spring+hibernate的集成,并充分运用jsp开源分页标签(pager-taglib)进行了分页。支持多条件的分页查询。由于上传大小限制,本人被迫将所用到的jar包目录删除,所需的几个必备jar包我已留在本...
Pager-taglib,支持多种风格的分页显示。自带的DEMO就有七种左右的分页风格。
基于Maven构建的Spring+Hibernate+Struts2 web项目是一个企业级的Java EE应用,旨在提供高效、可靠的解决方案,通过整合Spring、Hibernate和Struts2框架,构建一个功能完备、易于维护的Web应用。 项目架构: ...
struts2.0 taglib struts2.0 标签库,总结了从的全部
struts taglib使用示例 struts taglib使用示例 struts taglib使用示例struts taglib使用示例 struts taglib使用示例
struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar
jsp 分页标签。 用于列表自动分页功能
本人自己练习用的、备用、以防下次用的时候忘记如何使用
taglib(struts2标签).doc
Servlet MVC taglib JSON Android 分页
Pager-taglib实际上是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合支持多种风格的分页显示。会形成多种不一样的分页页面,风格各异,她自带的DEMO就有七种左右的分页风格,包括...