在daoImp中写入此两个方法方法
//用与获取一个表中总的行数
public int countRow()
{
Session s=getSession();
HibernateUtil.beginTransaction();
Query query=s.createSQLQuery("select count(*) from Category");
int countRow=Integer.parseInt(query.uniqueResult().toString());
HibernateUtil.commitTransaction();
HibernateUtil.closeSession();
return countRow;
}
//获取hibernate中第offset行的到第index个值到list中
public List getListCategorys(int offset,int index){
Session s=getSession();
HibernateUtil.beginTransaction();
Query query=s.createQuery("from Category");
query.setFirstResult(i);
query.setMaxResults(j);
List list=query.list();
HibernateUtil.commitTransaction();
HibernateUtil.closeSession();
return list;
}
//把list中的值放入VO中,再把VO对象放入categorylist
package org.zjut.service;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.zjut.DAOFactory.DAOFactory;
import org.zjut.GetSession.GetSession;
import org.zjut.PO.Category;
import org.zjut.PO.base.BaseCategory;
public class DataSources extends GetSession{
public List getListCategory(int offset,int index)
{
List list=DAOFactory.getIntance().createCategoryDAO().getListCategorys(offset,indexj);
List<BaseCategory> categorylist=new ArrayList<BaseCategory>();
Iterator it=list.iterator();
Category category;
while(it.hasNext())
{
BaseCategory categoryVO=new Category();
category=(Category)it.next();
Long id=category.getId();
String name=category.getName();
categoryVO.setId(id);
categoryVO.setName(name);
categorylist.add(categoryVO);
}
return categorylist;
}
}
//用于分页的action
package org.zjut.actions;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.zjut.DAOFactory.DAOFactory;
import org.zjut.service.DataSources;
public class ListCategoryAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
request.setAttribute("pageno",null);
request.setAttribute("totalpage", null);
int totalno=DAOFactory.getIntance().createCategoryDAO().countRow();
int pageno=0;int pageSize=10;int i=0;int j=pageSize;
int totalpage=(totalno%pageSize)==0?(totalno/pageSize):(totalno/pageSize+1);
if(totalno<=pageSize)
{
i=0;j=totalno;pageno=1;
request.setAttribute("pageno", pageno);
request.setAttribute("totalpage", totalpage);
}
else{
String strno=(String)request.getParameter("pageno");
if(strno==null){
pageno=1;i=0;j=pageSize;
request.setAttribute("pageno", pageno);
request.setAttribute("totalpage", totalpage);
}else{
pageno=Integer.parseInt(strno);
if(pageno<1)
{
pageno=1;i=0;j=pageSize;
request.setAttribute("pageno", pageno);
request.setAttribute("totalpage", totalpage);
}
else{
i=(pageno-1)*pageSize;j=pageSize;
request.setAttribute("pageno", pageno);
request.setAttribute("totalpage", totalpage);
}
}
}
List categorylist=new DataSources().getListCategory(offset,index);
request.setAttribute("list",categorylist);
String target = "display";
return mapping.findForward(target);
}
}
//通过action返回的pageno和allpage分页
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
<style>
#idDIV{width:300px;height:120px;background-color:#000000;padding:4px;font-family:verdana,tahoma;}
#idDIV td{background-color:#FFD700;}
#idCodeDiv{width:300px;padding:4px;font-family:verdana,tahoma;margin:12px 0px 0px 0px;background-color:#EEEEEE;font-weight:bold;}
</style>
<html:html>
<head>
<title> insreat title here </title>
</head>
<body><div align="center" style="background-color:blue;">
<html:errors/>
<c:set var="pageno" value="${pageno}"></c:set>
<c:set var="totalpage" value="${totalpage}"></c:set>
<bean:message key="number"/> <bean:message key="category"/> <bean:message key="operat"/>
<br><%int i=1; %>
<c:forEach var="cate" items="${list}">
<c:out value="<%=i++ %>"></c:out><c:out value="${cate.name}"></c:out><bean:message key="editor"/><bean:message key="delete"/>
<BR>
</c:forEach>
<c:if test="${pageno ne 1}"><a href='<c:url value="/listCategoryAction.do"><c:param name="pageno" value="1"/></c:url>'><bean:message key="first"/></a></c:if>
<c:if test="${pageno gt 1}"><a href='<c:url value="/listCategoryAction.do"><c:param name="pageno" value="${pageno-1}"/></c:url>'><bean:message key="Previous"/></a></c:if>
<c:if test="${pageno lt totalpage}"><a href='<c:url value="/listCategoryAction.do"><c:param name="pageno" value="${pageno+1}"/></c:url>'><bean:message key="next"/></a></c:if>
<c:if test="${pageno ne totalpage}"><a href='<c:url value="/listCategoryAction.do"><c:param name="pageno" value="${totalpage}"/></c:url>'><bean:message key="last"/></a></c:if>
</div></body>
</html:html>
分享到:
相关推荐
在这个项目中,"struts+hibernate做的分页显示"主要是利用这两者来实现数据的分页展示,提升用户体验,降低服务器压力。 首先,Struts是一个基于MVC设计模式的Java Web框架,它简化了开发过程,提供了处理HTTP请求...
通过这个项目,开发者可以学习到如何在Struts和Hibernate的集成环境下实现分页功能,理解MVC架构下各层的职责,以及如何使用Hibernate进行数据库操作。此外,还能了解到如何在前端展示分页信息,提高用户体验。这是...
下面是一个简化的示例代码片段,展示了如何在Struts2和Hibernate中实现分页功能: ```java // PageTool类定义 public class PageTool { private int pageNum; // 当前页码 private int pageSize; // 每页显示记录...
本篇将介绍如何使用Struts和Hibernate框架来实现Web应用中的分页功能。 首先,Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它负责处理用户请求并控制应用程序的流程。而Hibernate则是一...
本篇将详细讲解如何利用Struts和Hibernate来实现一个简单的分页功能。 首先,我们需要理解分页的基本原理。分页是为了提高用户体验,避免一次性加载大量数据导致页面加载慢或内存压力过大。在Web应用中,我们通常将...
在本项目中,"struts+hibernate做的分页"指的是使用这两个框架实现数据的分页展示。 分页在大型Web应用中至关重要,因为它能提高用户体验,避免一次性加载大量数据导致页面响应慢或浏览器崩溃。在Struts中,分页...
本人用struts+hibernate写的分页,有详细的注解,方便新手学习,在jsp中实现首页下一页上一页末页功能.index.jsp控制showlist.jsp页面中每页显示的信息条数,本实例在xp+tomcat5.5验证通过.数据库使用的sql2000中的pubs...
在分页时,我们可以利用HQL(Hibernate查询语言)或者Criteria API来编写分页查询,这两个工具能够直接与数据库进行交互,获取指定范围的数据。此外,Hibernate还提供了ScrollableResults接口,支持高效的分页浏览,...
在这个"Struts+Hibernate经典的分页代码"示例中,我们可以学习如何在基于Struts的Web应用中集成Hibernate,以实现数据的分页显示。分页是用户界面设计中一个常见的需求,特别是在处理大量数据时,它能提高用户体验,...
本项目以"Struts+Hibernate+SQL Server 2005"的技术栈实现了一个简单的分页小项目,下面我们将详细探讨这个项目中的关键技术点。 **1. Struts框架** Struts是Apache组织下的一个开源MVC框架,主要用于构建Java Web...
在这个教程中,我们将探讨如何利用Struts2和Hibernate实现分页功能。 **1. 数据库设计** 首先,我们需要一个简单的数据库表,如Tb_soft中的software表,包含一些基本字段如Tsoftware, fSoftname, fListImage等。...
总的来说,"struts+hibernate实例(分页)"是一个实用的学习资源,可以帮助开发者掌握如何在Java Web应用中整合Struts和Hibernate,实现高效、便捷的数据分页功能。通过学习和实践这个实例,开发者不仅可以提升技术...
总的来说,Struts+Spring+Hibernate 分页涉及到前端交互、后端服务、数据库查询等多个环节,需要综合运用这三个框架的能力。理解并熟练掌握这一过程,对于开发高效、可维护的Web应用具有重要意义。
在本示例中,"spring+struts+hibernate写的分页代码" 提供了一个使用这三大流行Java框架实现分页功能的实例。下面将详细解释这三个框架以及它们如何协同工作来实现分页。 1. **Spring框架**:Spring 是一个全面的...
通过深入学习这个分页示例,你不仅可以掌握Struts和Hibernate的结合使用,还能了解到分页在实际项目中的实现方式,这将对你的Java Web开发技能有很大的提升。同时,这也是一个很好的实践机会,帮助你理解MVC模式以及...
通过上述分析,我们可以看出,Struts + Hibernate 实现的通用分页程序主要涉及到了以下几个关键点:查询设置、SQL优化、自定义 SQL、分页逻辑处理以及 DAO 层的设计。这些技术点共同构成了一个完整的分页解决方案。...
Struts、Hibernate和DisplayTag是Java Web开发中的三个重要组件,它们共同构成了一个强大的MVC(Model-View-Controller)架构。在这个实例中,我们将会深入探讨如何将它们整合在一起,实现一个具备分页功能的Web应用...
通过上述介绍可以看出,在Struts2、Spring2和Hibernate3集成环境中实现经典的分页功能涉及到多个层面的技术细节。开发者需要综合考虑框架的特性、数据库的操作方式以及前端展示的需求,才能设计出高效稳定的分页方案...
总结来说,这个"Struts+Hibernate 分页源码"项目涵盖了以下几个核心知识点: 1. Struts框架的MVC设计模式,包括Action和ActionForm的使用。 2. Hibernate的数据库操作,如Criteria查询和分页实现。 3. 使用...
在这个项目中,“spring+struts2+hibernate整合实现分页”是一个基础教程,旨在帮助初学者理解如何在SSH框架下实现数据的分页展示。下面将详细讲解这个主题中的关键知识点。 1. **Spring框架**:Spring是Java应用的...