- 浏览: 142674 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
jonesmillera:
Good article! Thank you for sha ...
好用的dao(spring+jpa) -
Luob.:
里面一个类都没有,有反应才怪呢
多文件上传组件SWFUpload java环境小例子 -
seaie:
谢谢博主的分享。
下载测试了下,跑起来ok,不过有3个可改进 ...
java图片压缩处理 支持gif -
angangJonny:
没法反应怎么解决的啊!
多文件上传组件SWFUpload java环境小例子 -
nookiehuihui:
点上传没反应,什么情况
多文件上传组件SWFUpload java环境小例子
import java.util.List; public interface Pagination { public boolean isFirst();//判断是否为第一页 public boolean isLast();//判断是否为最后一页 public boolean hasNext();//判断是否还有下一页 public boolean hasPrevious();//判断是否还有上一页 public int getMaxElements();//还回分页总记录数 public int getMaxPages();//还回总页数 public int getNext();//获得下一页的页面 public int getPrevious();//获得上一页的页面 public int getPageSize();//还回分页大小 public int getPageNumber();//还回当前页的页面 public List<Object> getList();//还回当前页的记录数据 public void setPageSize(int pageSize);//设置分页大小 public void setPageNumber(int pageNumber);//设置跳转的页面的页码 }
Pagination 接口实现
public class PaginationImpl implements Pagination { private int pageSize = 20; private int pageNumber = 1; private int maxPages; private int maxElements; private List<Object> list; public PaginationImpl() { } public PaginationImpl(List<Object> list, int maxElements, int pageSize, int pageNumber) { this.pageSize = pageSize; this.list=list; this.maxElements=maxElements; init(); this.setPageNumber(pageNumber); } private void init() { setMaxPages(); } private void setMaxPages() { if (maxElements != 0 && (maxElements % pageSize == 0)) { maxPages = maxElements / pageSize; } else { maxPages = maxElements / pageSize + 1; } } public List<Object> getList() { return this.list; } public void setList(List<Object> list) { this.list = list; } public int getMaxElements() { return maxElements; } public int getMaxPages() { return maxPages; } public int getNext() { if (pageNumber + 1 >= this.getMaxPages()) { return getMaxPages(); } return pageNumber + 1; } public int getPageNumber() { return pageNumber; } public int getPageSize() { return pageSize; } public int getPrevious() { if (pageNumber - 1 <= 1) { return 1; } else { return pageNumber - 1; } } public boolean hasNext() { return pageNumber < this.getMaxPages(); } public boolean hasPrevious() { return pageNumber > 1; } public boolean isFirst() { return pageNumber == 1; } public boolean isLast() { return pageNumber >= this.getMaxPages(); } public void setPageNumber(int pageNumber) { if (pageNumber > maxPages) { this.pageNumber = maxPages; } else if (pageNumber < 1) { this.pageNumber = 1; } else { this.pageNumber = pageNumber; } } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public void setMaxElements(int maxElements) { this.maxElements = maxElements; } }
public interface IPaginationDao { public List<Object> listByPage(String hql,int pageSize, int pageNumber); public int listCount(String hql); }
IPaginationDao 接口实现
public class PaginationDaoImpl extends HibernateDaoSupport implements IPaginationDao{ public List<Object> listByPage(final String hql, final int pageSize, final int pageNumber) { return (List<Object>)this.getHibernateTemplate().executeFind( new HibernateCallback(){ public Object doInHibernate(Session session) throws SQLException,HibernateException { Query q = session.createQuery(hql); q.setFirstResult((pageNumber - 1) * pageSize); q.setMaxResults(pageSize); List<Object> list = (List<Object>) q.list(); return list; } }); } public int listCount(String hql) { // TODO Auto-generated method stub return this.getHibernateTemplate().find(hql).size(); } }
服务接口
public interface IPaginationServ { public Pagination getProductByPage(String hql,int pageSize, int pageNumber);}
IPaginationServ 接口实现
public class PaginationServImpl implements IPaginationServ{ private IPaginationDao pagingDao; public Pagination getProductByPage(String hql, int pageSize, int pageNumber) { int total =pagingDao.listCount(hql); List<Object> list=pagingDao.listByPage(hql, pageSize, pageNumber); Pagination paging=new PaginationImpl(list,total,pageSize,pageNumber); return paging; } public IPaginationDao getPagingDao() { return pagingDao; } public void setPagingDao(IPaginationDao pagingDao) { this.pagingDao = pagingDao; } }
配置spring文件
<bean id="pagingDao" class="××××.dao.impl.PaginationDaoImpl"> <property name="sessionFactory" > <ref bean="sessionFactory"/> </property> </bean>
<bean id="pagingServ" class="com.cnkf.wushi.service.impl.PaginationServImpl"> <property name="pagingDao" > <ref bean="pagingDao"/> </property> </bean>
添加页面
<%@taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%><a href="findAllDisplay.action"><h1>displayTag分页</h1></a> <s:iterator value="page.list" id="pr"> <table width="300" border="1" bordercolor="000000" style="table-layout: fixed; word-break: break-all"> <tr> <td width="100" bordercolor="ffffff"> 编号: </td> <td width="500" bordercolor="ffffff"> <s:property value="id" /> </td> </tr> <tr> <td bordercolor="ffffff"> 名称: </td> <td bordercolor="ffffff"> <s:property value="name" /> </td> </tr> <tr> <td bordercolor="ffffff"> 价格: </td> <td bordercolor="ffffff"> <s:property value="price" /> </td> </tr> <tr> <td bordercolor="ffffff"> 类型: </td> <td bordercolor="ffffff"> <s:property value="type" /> </td> </tr> </table> <br> </s:iterator> <pg:pager url="findAllPg.action" items="${page.maxElements}" maxPageItems="${pageSize}" maxIndexPages="5"> <pg:index> <pg:first unless="current"> <a href="${pageUrl}&pageNumber=${pageNumber}">首页</a> </pg:first> <pg:prev> <a href="${pageUrl}&pageNumber=${pageNumber}">上一页(${pageNumber})</a> </pg:prev> <pg:pages> <a href="${pageUrl}&pageNumber=${pageNumber}">${pageNumber}</a> </pg:pages> <pg:next> <a href="${pageUrl}&pageNumber=${pageNumber}">下一页(${pageNumber})</a> </pg:next> <pg:last unless="current"> <a href="${pageUrl}&pageNumber=${pageNumber}">尾页</a> </pg:last> </pg:index> </pg:pager> </center>
<%@taglib uri="http://displaytag.sf.net" prefix="display"%> <center> <a href="findAllPg.action"><h1>Pager分页</h1></a> <display:table name="page.list" id="dt" export="true" class="" partialList="true" size="page.maxElements" pagesize="10" requestURI="findAllDisplay.action"> <display:column sortable="true" property="id" title="编号"> </display:column> <display:column property="name" title="名称"> </display:column> <display:column property="price" title="价格"> </display:column> <display:column property="type" title="类型"> </display:column> <display:column title="操作"> <a href="#">编辑</a> <a href="#">删除</a> </display:column> </display:table> </center>
添加action
public class ProductAction extends ActionSupport { private static final long serialVersionUID = 3953659778944144652L; private IProductServ productServ; private IPaginationServ pagingServ; private Product pr; private List<Product> list; private Pagination page; private String pageNumber = "1"; private int pageSize = 10; public String findAllDisplay() { String hql = "from Product p"; // 这是displaytag获得pageNumber的方法,dt是displaytag 的id属性相对应的。比较特殊 String paramName = (new ParamEncoder("dt") .encodeParameterName(TableTagParameters.PARAMETER_PAGE)); HttpServletRequest request = ServletActionContext.getRequest(); try { Integer.parseInt(request.getParameter(paramName)); pageNumber=request.getParameter(paramName); } catch (Exception e) { pageNumber = "1"; } page = pagingServ.getProductByPage(hql, pageSize, Integer.parseInt(pageNumber)); return SUCCESS; } public String findAllPg() { String hql = "from Product p"; try { Integer.parseInt(pageNumber); } catch (Exception e) { pageNumber = "1"; } page = pagingServ.getProductByPage(hql, pageSize, Integer.parseInt(pageNumber)); return SUCCESS; }
配置struts.xnl文件
<action name="findAllDisplay" class="com.cnkf.template.action.ProductAction" method="findAllDisplay"> <result >/welcomeDisplay.jsp</result> </action> <action name="findAllPg" class="com.cnkf.template.action.ProductAction" method="findAllPg"> <result >/welcomepg.jsp</result> </action>
最后添加上displaytag 的jar包,还有img,css文件
pager的jar包添加
发表评论
-
java web 文件文件上传
2009-12-10 12:29 12997今日学习的主要内容是——文件的上传与下载,下载我们在之前的学 ... -
中文句子相似度判断源码探讨
2009-11-04 15:59 2974在我们日常的开发中, ... -
通用各类文档读写的设计与实现
2009-11-04 15:35 1072在我们日常的项目开发中,经常碰到需要读取word等文档的需求, ... -
抓取百度Top500歌曲以及地址源码
2009-11-04 15:33 1556在我整理完在线听歌(http://ting.faqee.c ... -
Apache 2.2.x+Tomcat6集群配置备忘
2009-11-04 15:28 1638在我们部署Web应用时,不可避免大多都会涉及到集群问题,此文作 ... -
多文件上传组件SWFUpload java环境小例子
2009-10-16 14:16 6592包结构如下: index.jsp upload.jsp ... -
工具类
2009-07-23 17:42 1253import java.util.HashMap; impo ... -
好用的dao(spring+jpa)
2009-07-23 09:05 2572package com.itcast.service.base ... -
spring+JPA的注解(自己使用)
2009-06-10 00:48 1576依赖注入的手工装配的两种方式注解 @Resource 一般 ... -
spring的优缺点
2009-06-08 10:06 3215它是一个开源的项目,而且目前非常活跃;它基于IoC(Inver ... -
Struts优缺点
2009-06-08 09:51 1518跟Tomcat、Turbine等诸多Apa ... -
struts1与struts2的比较
2009-06-08 09:33 988特性 Struts 1 ... -
struts2+spring2+hibernate3.1应用实例
2009-05-22 18:24 13121. 组合Hibernate 与Spring ...
相关推荐
根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...
同时,Struts2和Spring也可以配合提供分页支持,例如通过Action类中的方法返回分页信息,或者利用Spring的Pageable接口和Page对象。 在实际项目中,"sshext"的结构可能包含以下几个部分: 1. `WebRoot`:这是Web...
Struts2+Hibernate+Spring+分页+数据库 注意了,只能在IE8上运行,因为我设置的样式不兼容,在其他浏览器上要多难看有多难看。
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用广泛用于构建复杂的Web应用程序,如本例中的图书馆管理系统。这个系统实现了用户登录和注册功能,并且提供了对书籍表的操作,包括增、删、改...
本项目“基于struts2+hibernate3+spring的分页组件”着重于如何在这样的集成环境中实现数据的分页显示。分页是大型数据集展示中常见的需求,它可以提高用户体验,避免一次性加载大量数据导致的性能问题。 在Struts2...
在这个项目中,“spring+struts2+hibernate整合实现分页”是一个基础教程,旨在帮助初学者理解如何在SSH框架下实现数据的分页展示。下面将详细讲解这个主题中的关键知识点。 1. **Spring框架**:Spring是Java应用的...
Struts 2、Hibernate 和 Spring 是 Java Web 开发中的三个重要框架,它们组合在一起形成了一个强大的后端开发架构。这个基于 Struts 2+Hibernate+Spring 的论坛系统源码提供了学习和理解这些技术如何协同工作的实例...
总的来说,这个"Struts2+Spring2+Hibernate3注册查询搜索分页实例"是一个很好的学习资源,涵盖了Java Web开发中的基础和核心部分。通过学习这个实例,开发者不仅可以掌握三大框架的基本用法,还能了解到如何将它们...
Struts2、Hibernate3.2、Spring2.0和SQL Server 2000是Java Web开发中的四个关键组件,它们构成了一个强大的企业级应用框架,通常被称为SSH2(Struts2、Spring2、Hibernate2)集成框架。下面将详细阐述这些技术以及...
在"struts2+hibernate+spring分页"的场景中,Struts2将处理分页请求,接收页码、每页显示数量等参数,并调用服务层的方法来获取特定页的数据。 Hibernate是一个持久化框架,它简化了数据库操作,通过ORM(对象关系...
总结,"struts2+hibernate3+spring3分页"项目结合了SSH框架的优势,实现了高效、灵活的后端分页功能,利用MySQL数据库存储数据。开发者可以通过学习这个项目,深入理解如何在实际项目中集成和运用SSH框架,以及如何...
2. **创建DAO**:实现分页查询的方法,使用Hibernate的Session或SessionFactory进行数据库操作。 3. **配置Service**:在Spring中声明Service,注入DAO,实现业务逻辑,包括计算总页数、获取当前页数据等。 4. **...
在本项目中,“struts2.0+hibernate+spring分页”是将这三种技术结合,实现数据的分页展示功能。分页是一种常见的优化策略,它可以提高用户体验,避免一次性加载过多数据导致页面响应慢或内存压力大。 首先,Struts...
### Struts2 + Spring2 + Hibernate3 经典分页技术解析 #### 一、概述 在企业级应用开发中,分页显示是常见的需求之一。对于数据量较大的查询结果,采用分页的方式不仅能减轻服务器的压力,提高用户体验,还能更好...
总结来说,"Struts1.3+Spring4.x+Hibernate4.x框架整合实现对书籍的增删改查(含分页)"项目展示了如何使用SSH框架来构建一个功能完善的书籍管理系统。Struts处理用户请求,Spring管理应用组件并提供事务支持,...
在这个"Struts+Hibernate+Spring的分页"项目中,开发者展示了如何在这样的集成环境下实现分页功能。分页是Web应用中常见的需求,它允许用户逐页浏览大量的数据,提高用户体验并减轻服务器压力。 首先,我们来看看...
4. **后台表格分页实现**:在实际应用中,通常会有一个专门的Service层方法处理分页请求,该方法先通过Hibernate查询数据,然后使用Spring的ModelMap或者自定义的Dto将数据打包返回给Struts2 Action。Action再将结果...
SSH(Struts2、Hibernate、Spring)是一种流行的Java企业级应用程序开发框架组合,常用于构建高效、可维护的Web应用。在这个"ssh Struts2.2+Hibernate3.6+Spring3.1+oracle 分页示例.zip"压缩包中,开发者提供了一个...
2012最新ssh2框架-struts2.3+hibernate4.1+spring3.1登录+注册(md5加密)带拦截器,mysql数据库,带分页功能, 只需修改com/resource/resourses.properties数据库连接即可使用
这个名为"Struts2 + Hibernate + Spring 实现的分页显示数据"的项目,展示了如何利用这三个框架来实现一个功能强大的数据管理应用,特别是对于大数据集的分页展示。以下是对这些框架和分页技术的详细解释。 **...