- 浏览: 130065 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
itmyhome:
应该再补充一条:10、还是基础
【转】九句良言 -
怪兽00:
野猪和家猪的故事 -
xwq18:
谢谢,用了第三种方法解决了项目中的一个小问题
Java得到上下文的绝对路径 -
yllmax:
(注:这里引入了jquery-1.4.2.min.js 的JS ...
Struts2+JSON+JQuery实现简单验证 -
LD_21:
VincentBoy 写道 不错 啊。
请问一下,你还有没有这 ...
Struts2+JSON+JQuery实现简单验证
--引用一个不错的S2SH分页的实力:
J2EE系统中分页显示,修改dao层,service层,action层,两个分页类文件,代码如下:
dao层接口:
package com.last999.im.news.dao; import java.util.*; import com.last999.im.news.entity.KindEntity; import com.last999.im.news.web.PageTool; public interface KindEntityDao{ public KindEntity get(String uuid); public void save(KindEntity kindEntity); public void update(KindEntity kindEntity); public void delete(String uuid); public void delete(KindEntity kindEntity); public List<KindEntity> findAll(); public KindEntity findKindEntityByName(String name); public List<KindEntity> getKindEntity(PageTool pageInfo); public int getRows(); }
实现类:
package com.last999.im.news.dao.impl; import java.util.*; import com.last999.im.news.dao.KindEntityDao; import com.last999.im.news.entity.KindEntity; import com.last999.im.news.web.PageTool; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.HibernateException; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class KindEntityDaoHibernate extends HibernateDaoSupport implements KindEntityDao{ public KindEntity get(String uuid){ return (KindEntity)getHibernateTemplate().get(KindEntity.class,uuid); } public void save(KindEntity kindEntity){ getHibernateTemplate().save(kindEntity); } public void update(KindEntity kindEntity){ getHibernateTemplate().saveOrUpdate(kindEntity); } public void delete(KindEntity kindEntity){ getHibernateTemplate().delete(kindEntity); } public void delete(String uuid){ getHibernateTemplate().delete((KindEntity)getHibernateTemplate().get(KindEntity.class,uuid)); } public List findAll(){ return getHibernateTemplate().find("from KindEntity"); } public KindEntity findKindEntityByName(String name){ List k1 = getHibernateTemplate().find("from KindEntity as ke where ke.name = ?",name); if (k1 != null && k1.size() == 1){ return (KindEntity)k1.get(0); } return null; } public int getRows(){ return getHibernateTemplate().find("from KindEntity").size(); } public List getKindEntity(PageTool pageInfo){ final int size1=pageInfo.getSize(); final int startRow=(pageInfo.getCur()-1)*pageInfo.getSize(); return this.getHibernateTemplate().executeFind(new HibernateCallback(){ public List doInHibernate(Session session) throws HibernateException{ Query query = session.createQuery("from KindEntity"); query.setFirstResult(startRow); query.setMaxResults(size1); return query.list(); } } ); } }
SERVICE层接口:
package com.last999.im.news.service; import java.util.List; import com.last999.im.news.web.PageTool; import com.last999.im.news.entity.KindEntity; public interface KindEntityManage{ public void addKindEntity(KindEntity entity); public List findAllKind(); public int getRows(); public List getKindEntity(PageTool pageInfo); }
实现类:
package com.last999.im.news.service.impl; import java.util.List; import com.last999.im.news.web.PageTool; import com.last999.im.news.entity.KindEntity; import com.last999.im.news.service.KindEntityManage; import com.last999.im.news.dao.KindEntityDao; public class KindEntityManageImpl implements KindEntityManage{ private KindEntityDao kindEntityDao; public KindEntityDao getKindEntityDao(){ return this.kindEntityDao; } public void setKindEntityDao(KindEntityDao kindEntityDao) { this.kindEntityDao=kindEntityDao; } public void addKindEntity(KindEntity kindEntity){ this.getKindEntityDao().save(kindEntity); } public List findAllKind(){ return this.getKindEntityDao().findAll(); } public int getRows(){ return this.getKindEntityDao().getRows(); } public List getKindEntity(PageTool pageInfo){ return this.getKindEntityDao().getKindEntity(pageInfo); } }
action类:
package com.last999.im.news.action; import java.util.List; import com.last999.im.news.web.PageTool; import com.last999.im.news.web.PageMaker; import com.last999.im.news.entity.KindEntity; import com.last999.im.news.service.KindEntityManage; public class KindViewAction extends SafeStruts2{ private List kindList; private KindEntity kindEntity; private KindEntityManage kindEntityManage; private int ppp; private PageMaker pageMaker; private String pager; public String getPager(){ return this.pager; } public void setPager(String pager) { this.pager=pager; } public PageMaker getPageMaker(){ return this.pageMaker; } public void setPageMaker(PageMaker pageMaker) { this.pageMaker=pageMaker; } public int getPpp(){ return this.ppp; } public void setPpp(int ppp) { this.ppp=ppp; } public KindEntityManage getKindEntityManage(){ return this.kindEntityManage; } public void setKindEntityManage(KindEntityManage kindEntityManage) { this.kindEntityManage=kindEntityManage; } public KindEntity getKindEntity(){ return this.kindEntity; } public void setKindEntity(KindEntity kindEntity) { this.kindEntity=kindEntity; } public List getKindList(){ return this.kindList; } public void setKindList(List kindList) { this.kindList=kindList; } public String kindView(){ PageTool pageInfo = new PageTool(); pageInfo.setCur(this.getPpp()); pageInfo.setTotal(this.getKindEntityManage().getRows()); setKindList(this.getKindEntityManage().getKindEntity(pageInfo)); PageMaker pageMaker = new PageMaker(); setPager(pageMaker.makeList(pageInfo,"kindView.action?ppp=")); return SUCCESS; } }
分页辅助工具类:
package com.last999.im.news.web; public class PageTool{ private int cur=1; private int size=6; private int total=1; public int getCur(){ return this.cur; } public void setCur(int cur) { this.cur=cur; } public int getSize(){ return this.size; } public void setSize(int size) { this.size=size; } public int getTotal(){ return this.total; } public void setTotal(int total) { this.total=total; } public PageTool(){} public PageTool(int cur,int size,int total){ this.cur=cur; this.size=size; this.total=total; } public PageTool(int size){ this.size=size; this.cur=1; this.total=1; } }
PageMaker.java
package com.last999.im.news.web; import com.last999.im.news.web.PageTool; public class PageMaker { public PageMaker(){} public String makeList(PageTool pageinfo,String url){ int linkNumber=10; int halfLinkNumber=5; String pageStyle="<style> .ptbl {border:1px solid #CEDBEF;font-size:12px;padding:0;font-family:Arial;width:auto} .ptbl a {text-decoration:none;color:#555555} .ptbl td {padding-top:0px;padding-bottom:0px;padding-left:4px;padding-right:4px} .strong {background:#CEDBEF;font-weight:800;color:#FF7D00} .strong a{color:#FF7D00} .page_input {background:#ffffff;border:1px solid #CEDBEF;border-top:none;border-bottom:none;color:#FF7D00;width:30px;margin:0px } </style>"; String pageTable="<table border='0'cellpadding='0' cellspacing='0' bgcolor='#CEDBEF' class='ptbl'><tr align='center' bgcolor='#FFFBFF'>"; //a string that will be decretion to show StringBuffer pagelist=new StringBuffer(""); //get current page. int curpage=pageinfo.getCur(); int pagenumber=pageinfo.getTotal()/pageinfo.getSize()+1; //make it's pre,next page int prepage=curpage-1; prepage=prepage<=0?1:prepage; int nextpage=curpage+1; nextpage=nextpage>=pagenumber?pagenumber:nextpage; //finger out how many page total pagelist.append(pageStyle); pagelist.append(pageTable); pagelist.append("<td>Record:<font color='red'>"+pageinfo.getTotal()+"</font></td>"); //frist page //pagelist.append("<td><a href='"+url+"1'>|<</a></td>"); //pagelist.append("<td><a href='"+url+prepage+"'><</a></td>"); if (pagenumber<=linkNumber){ for(int i=1;i<=pagenumber;i++){ if(i==curpage) pagelist.append("<td class='strong'>"+i+"</td>"); else pagelist.append("<td><a href='"+url+i+"'>"+i+"</a></td>"); } }else{ int begin=curpage-halfLinkNumber; begin=(begin<=0)?1:begin; begin=((halfLinkNumber+curpage)>pagenumber) ? (pagenumber-linkNumber+1):begin; for(int i=begin;i<=linkNumber+begin-1;i++){ if(i==curpage){ pagelist.append("<td class='strong'>"+i+"</td>"); pagelist.append("\n"); } else{ pagelist.append("<td><a href='<s:url action='"+url+"'><s:param name='ppp' value='"+i+"'/></s:url>'>"+i+"</a></td>"); pagelist.append("\n"); } } } //pagelist.append("<td><a href='"+url+nextpage+"'>></a></td>"); //pagelist.append("<td><a href='"+url+pagenumber+"'>>|</a></td>"); pagelist.append("<td>Page:<font color='red'>"+pagenumber+"</font></td></tr></table>"); return pagelist.toString(); } }
KindEntity.java
package com.last999.im.news.entity; /** * @hibernate.class * table="kind" * dynamic-update="true" */ public class KindEntity extends Persistent{ private String title; private String content; private String parentId; private String description; /** * @hibernate.property */ public String getDescription(){ return this.description; } public void setDescription(String description) { this.description=description; } private String em1; private String em2; private String em3; /** * @hibernate.property */ public String getEm3(){ return this.em3; } public void setEm3(String em3) { this.em3=em3; } /** * @hibernate.property */ public String getEm2(){ return this.em2; } public void setEm2(String em2) { this.em2=em2; } /** * @hibernate.property */ public String getEm1(){ return this.em1; } public void setEm1(String em1) { this.em1=em1; } /** * @hibernate.property */ public String getParentId(){ return this.parentId; } public void setParentId(String parentId) { this.parentId=parentId; } /** * @hibernate.property * @hibernate.column name="content" sql-type="TEXT" */ public String getContent(){ return this.content; } public void setContent(String content) { this.content=content; } /** * @hibernate.property */ public String getTitle(){ return this.title; } public void setTitle(String title) { this.title=title; } }
为什么没有在页面接收的代码:
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>
showkind
</title>
</head>
<html>
<body>
<center>
<table border="1">
<tr>
<td>
<table border="0" width="755" bgcolor="#eeeeee">
<tr>
<font size="3">
<b>
These are all the kinds:
</b>
</font>
</tr>
<tr>
<td width="%25">title</td>
<td width="%25">description</td>
<td width="%25">parentId</td>
<td width="25%">Content</td>
</tr>
<s:iterator value="%{kindList}" id="kind">
<tr>
<td>
<s:property value="#kind.title"/>
</td>
<td>
<s:property value="#kind.description"/>
</td>
<td>
<s:property value="#kind.parentId"/>
</td>
<td>
<s:property value="#kind.content"/>
</td>
<!--
<td>
<a href="<s:url action='kindDelete'><s:param name='uuid' value='#kind.uuid'/></s:url>">Delete</a>
</td>
-->
</s:iterator>
</tr>
</table>
</td>
</tr>
</table>
<s:property value="pager" escape="false"/>
</center>
</body>
</html>
发表评论
-
Hibernate性能调优
2011-03-11 20:05 792哪个框架能够最大限度减少数据库访问,降低数据库访问压力, ... -
S2SH开发的一些技巧
2010-10-08 11:16 1162项目流程:一、原型设 ... -
Spring3.0 Jar包大概介绍
2010-09-24 12:42 2456org.springframework.aop- 3.0.0. ... -
Struts2+JSON+JQuery实现简单验证
2010-08-23 10:21 7450刚学的东东,搞了很久的一个小成果,在此与大家分享。。。 ... -
struts2中,required=“true”
2010-08-16 15:45 2190在struts2中<s:select 这个标签下.有个属 ... -
J2EE基础:Struts框架的初学者入门知识
2010-07-08 12:09 8951. 如何安装Struts ...
相关推荐
根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...
在这个“Struts2+Spring+Hibernate分页显示”的解决方案中,我们将深入探讨如何利用这三大框架实现数据的分页展示。 Struts2作为MVC(模型-视图-控制器)架构的一部分,主要负责处理HTTP请求,控制应用程序的流程。...
struts spring hibernate 登陆 SSH整合分页功能 SSH整合分页struts spring hibernate 登陆 SSH整合分页功能 SSH整合分页struts spring hibernate 登陆 SSH整合分页功能 SSH整合分页
1. **配置分页插件**:Spring或Struts中可以配置第三方的分页插件,例如PageHelper,它提供了对Hibernate和MyBatis的分页支持。 2. **在DAO层实现分页查询**:使用Hibernate的Criteria、HQL或者SQL配合分页参数(如...
本篇文章将详细讲解如何在基于Struts2、Spring和Hibernate的项目中实现分页功能。 首先,我们从DAO层开始。在`MemberDao`接口中,我们定义了两个关键的方法,一个是用于分页查询,另一个是获取所有记录的数量。这两...
在本章中,我们将深入探讨如何开发一个基于Struts、Spring、Hibernate和Ajax的网上信息发布平台。这四个技术是Java Web开发中的核心组件,它们各自承担着不同的职责,共同构建了一个强大而灵活的后端架构。 **...
"ext3+struts2+hibernate+spring的CRUD+分页"是一个典型的Java Web开发组合,用于实现全面的数据管理功能。这个组合充分利用了各个框架的优势,提供了一个强大的后端数据处理和前端展示的解决方案。 首先,EXT3是一...
在这个“Struts2 Hibernate Spring分页实例”中,开发者将展示如何在这些框架的集成环境中实现数据的分页显示。分页是Web应用中常见的一种功能,它能够帮助用户更好地浏览和管理大量的数据,避免一次性加载过多内容...
在 Struts+Spring+Hibernate 结构中实现分页,需要结合这三大框架的特点来设计和实现。 首先,Struts 在控制器层中处理用户的请求,比如用户点击分页链接时,Struts 框架会调用相应的Action类方法。在这个方法中,...
在这个项目中,“spring+struts2+hibernate整合实现分页”是一个基础教程,旨在帮助初学者理解如何在SSH框架下实现数据的分页展示。下面将详细讲解这个主题中的关键知识点。 1. **Spring框架**:Spring是Java应用的...
通过整合Struts2、Spring与Hibernate,学生成绩管理系统不仅实现了基本的登录、学生信息和成绩管理功能,还通过分页技术增强了用户体验。更重要的是,这一整合展示了如何利用现代Java EE框架构建复杂企业级应用的...
Struts2 hibernate spring分页配套lib(2) 上传的可真慢啊 Struts2 hibernate spring分页配套lib(3)我始终上传不上去 不知道怎么弄的 例子运行http://localhost:8080/page/emp/list.action
总的来说,这个"Struts2+Spring2+Hibernate3注册查询搜索分页实例"是一个很好的学习资源,涵盖了Java Web开发中的基础和核心部分。通过学习这个实例,开发者不仅可以掌握三大框架的基本用法,还能了解到如何将它们...
JAVA分页大全.doc Hibernate分页查询.doc hibernate实现分页技术.txt struts实现分页技术源代码txt Struts+hibernate制作分页的问题txt spring+struts+hibernate ...spring+hibernate分页技术.txt jsp实现分页技术.txt
这个名为"Struts2 + Hibernate + Spring 实现的分页显示数据"的项目,展示了如何利用这三个框架来实现一个功能强大的数据管理应用,特别是对于大数据集的分页展示。以下是对这些框架和分页技术的详细解释。 **...
### Struts2、Spring、Hibernate使用XML的整合方式 #### 概述 本文档将详细介绍如何使用XML配置文件实现Struts2、Spring以及Hibernate(通常称为SSH)这三种技术的整合,以支持一个简单的商品管理系统。这个系统...
Struts2 hibernate spring分页配套lib 共三个分卷 这是一
在"struts2+hibernate+spring分页"的场景中,Struts2将处理分页请求,接收页码、每页显示数量等参数,并调用服务层的方法来获取特定页的数据。 Hibernate是一个持久化框架,它简化了数据库操作,通过ORM(对象关系...