- 浏览: 140414 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
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 12960今日学习的主要内容是——文件的上传与下载,下载我们在之前的学 ... -
中文句子相似度判断源码探讨
2009-11-04 15:59 2927在我们日常的开发中, ... -
通用各类文档读写的设计与实现
2009-11-04 15:35 1032在我们日常的项目开发中,经常碰到需要读取word等文档的需求, ... -
抓取百度Top500歌曲以及地址源码
2009-11-04 15:33 1499在我整理完在线听歌(http://ting.faqee.c ... -
Apache 2.2.x+Tomcat6集群配置备忘
2009-11-04 15:28 1553在我们部署Web应用时,不可避免大多都会涉及到集群问题,此文作 ... -
多文件上传组件SWFUpload java环境小例子
2009-10-16 14:16 6563包结构如下: index.jsp upload.jsp ... -
工具类
2009-07-23 17:42 1216import java.util.HashMap; impo ... -
好用的dao(spring+jpa)
2009-07-23 09:05 2513package com.itcast.service.base ... -
spring+JPA的注解(自己使用)
2009-06-10 00:48 1547依赖注入的手工装配的两种方式注解 @Resource 一般 ... -
spring的优缺点
2009-06-08 10:06 3178它是一个开源的项目,而且目前非常活跃;它基于IoC(Inver ... -
Struts优缺点
2009-06-08 09:51 1490跟Tomcat、Turbine等诸多Apa ... -
struts1与struts2的比较
2009-06-08 09:33 951特性 Struts 1 ... -
struts2+spring2+hibernate3.1应用实例
2009-05-22 18:24 12751. 组合Hibernate 与Spring ...
相关推荐
STRUTS2+HIBERNATE分页 实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码
利用ext3+struts2+hibernate+spring的CRUD+分页这四个框架实现crud,详细说明grid的用法,
基于struts2+hibernate3+spring的分页组件
struts2 + spring 3 + hibernate3.3整合实现图书馆管理系统登陆和注册,以及一个对书籍表的增删改查,分页显示。
Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码)
Struts2+Hibernate+Spring+分页+数据库 注意了,只能在IE8上运行,因为我设置的样式不兼容,在其他浏览器上要多难看有多难看。
struts2+hibernate3+spring3分页;附带数据库;能输出结果;数据库采用mysql;
这是一个struts2+hibernate+spring的分页程序加完整的讲解
ssh Struts2.2+Hibernate3.6+Spring3.1+oracle 分页示例.zip
struts2+hibernate+Spring后台表格分页
使用Struts + Spring + Hibernate完成分页笔记使用Struts + Spring + Hibernate完成分页笔记使用Struts + Spring + Hibernate完成分页笔记
含分页核心源代码 struts2.1 + hibernate3.3 +spring2.5 + 仿Google数字分页。
jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载相对应的包. 为了上传jar.我专门申请了一个网盘.所有...
struts+hibernate+spring的分页...是新手的一个不错例子!!
Struts+Hibernate+Spring+JS 分页程序,三者的整合应用
基于Struts+Hibernate+Spring三大框架下编写的简单的分页代码,其中列举了SQL与HQL两种不同的分页。
用三大框架整合实现分页,附加可用,逻辑简单适合初学者
2012最新ssh2框架-struts2.3+hibernate4.1+spring3.1登录+注册(md5加密)带拦截器,mysql数据库,带分页功能, 只需修改com/resource/resourses.properties数据库连接即可使用
ssh实现分页很好的资料,有利于ssh集成人员分享。