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>
分享到:
相关推荐
struts2 + spring 3 + hibernate3.3整合实现图书馆管理系统登陆和注册,以及一个对书籍表的增删改查,分页显示。
Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码)
struts2+spring+hibernate分页,事务,自定义切面,事务的配置
本例主要是实现了struts2+spring3+hibernate3的 基本框架搭建的注册登录,以及用户增删改查,适于初学者学习。 包括:注册 登录功能 分页的实现 前端校验 验证码的实现 注册时有ajax 校验,登录时 后台从数据库...
struts2+spring+hibernate分页显示的完美解决方案
struts2+spring+hibernate分页查询
系统搭建使用struts2 + spring + hibernate + easyui 整合的, 功能包括: 分页查询,自定义页面数据显示量,用户名模糊搜索,创建时间段,更新时间段内用户信息搜索,双击行进行编辑,多行选中删除,右键菜单已经写好...
三大最新流行框架整合,此实例包括了注册、查询、搜索、分页四大功能,适合入门的人学习,希望对你们有帮助。
这是一个struts2+hibernate+spring整合的实例,带有分页功能,希望对刚接触struts2的朋友有些帮助。spring2.0,hibernate3.1分页用的是自字义标签,不要少了这个包standard.jar
传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享...
2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...
利用ext3+struts2+hibernate+spring的CRUD+分页这四个框架实现crud,详细说明grid的用法,
此压缩包含有两个工程,一个工程是struts2+spring2.5+hibernate3.3整合的服务器端技术(全注解)(云端),另一个工程是android的手机应用,包含对ssh整合的云端数据的访问,能够在android输入信息,将数据传递给...
包含有完整的jar包和源代码,这是专门为我们实验室定制开发的,包含了架构基于s2sh技术网站的参考实现(包括了全部基础部分:如分页,缓存,文件上传,连接池等等)希望对初学JavaEE WEB开的人有所帮助。...
STRUTS2+HIBERNATE分页 实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码
struts2.3.24 + spring4.1.6 + hibernate4.3.9 + eclipse 分页
SSH项目整合,包含本项目所有的JAR包,基于mysql数据库,完成了基本的“增,删,改,查,完整分页”,另外做了一点js验证,以及建表,插入指定数量的随机测试数据...... 绝对值这个分。
struts2+spring+hibernate3的简易图书管理系统,特别适合初学者集成! 实现了简单的分页和模糊查询。(基本上涵盖了开发ssh2的包),值得拥有哦! 注:数据库sql文件(mysql 5.5)在里面,要自己配好!