随笔-42  评论-578  文章-1  trackbacks-0

      分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享交流。
1、DAO层接口的设计,在MemberDao接口中定义了如下两个方法:

public interface MemberDao{
    
    
//省略了其他的代码
    
    
/**
     * 分页查询
     * 
@param hql 查询的条件
     * 
@param offset 开始记录
     * 
@param length 一次查询几条记录
     * 
@return
     
*/

    
public List queryForPage(final String hql,final int offset,final int length);
    
    
/**
     * 查询所有记录数
     * 
@param hql 查询的条件
     * 
@return 总记录数
     
*/

    
public int getAllRowCount(String hql);

}

2、DAO层实现类MemberDaoImpl对上面两个方法的实现如下:

public class MemberDaoImpl extends HibernateDaoSupport implements MemberDao {
       
//省略了其他的代码    

    
/**
     * 分页查询
     * 
@param hql 查询的条件
     * 
@param offset 开始记录
     * 
@param length 一次查询几条记录
     * 
@return
     
*/

    
public List queryForPage(final String hql,final int offset,final int length){
        List list 
= getHibernateTemplate().executeFind(new HibernateCallback(){
            
public Object doInHibernate(Session session) throws HibernateException,SQLException{
                Query query 
= session.createQuery(hql);
                query.setFirstResult(offset);
                query.setMaxResults(length);
                List list 
= query.list();
                
return list;
            }

        }
);
        
return list;
    }

    
    
    
/**
     * 查询所有记录数
     * 
@return 总记录数
     
*/

    
public int getAllRowCount(String hql){
        
return getHibernateTemplate().find(hql).size();
    }


}

        细心的读者会发现,这个类继承了HibernateDaoSupport类,HibernateDaoSupport是Spring提供的对Hibernate支持的类,getHibernateTemplate().executeFind(new HibernateCallback(){....})方法中的参数,我们使用了接口回调,在其参数内,我们能像原生的Hibernate一样调用query.setFirstResult(offset)和query.setMaxResults(length)来实现分页查询功能。

3、下面我们来新建一个保存分页信息的类PageBean,具体代码如下:

public class PageBean {
    
    
private List list;        //要返回的某一页的记录列表
    
    
private int allRow;         //总记录数
    private int totalPage;        //总页数
    private int currentPage;    //当前页
    private int pageSize;        //每页记录数
    
    
private boolean isFirstPage;    //是否为第一页
    private boolean isLastPage;        //是否为最后一页
    private boolean hasPreviousPage;    //是否有前一页
    private boolean hasNextPage;        //是否有下一页
    
    
    
public List getList() {
        
return list;
    }

    
public void setList(List list) {
        
this.list = list;
    }

    
public int getAllRow() {
        
return allRow;
    }

    
public void setAllRow(int allRow) {
        
this.allRow = allRow;
    }

    
public int getTotalPage() {
        
return totalPage;
    }

    
public void setTotalPage(int totalPage) {
        
this.totalPage = totalPage;
    }

    
public int getCurrentPage() {
        
return currentPage;
    }

    
public void setCurrentPage(int currentPage) {
        
this.currentPage = currentPage;
    }

    
public int getPageSize() {
        
return pageSize;
    }

    
public void setPageSize(int pageSize) {
        
this.pageSize = pageSize;
    }

    
    
/**
     * 初始化分页信息
     
*/

    
public void init(){
        
this.isFirstPage = isFirstPage();
        
this.isLastPage = isLastPage();
        
this.hasPreviousPage = isHasPreviousPage();
        
this.hasNextPage = isHasNextPage();
    }

    
    
/**
     * 以下判断页的信息,只需getter方法(is方法)即可
     * 
@return
     
*/

    
    
public boolean isFirstPage() {
        
return currentPage == 1;    // 如是当前页是第1页
    }

    
public boolean isLastPage() {
        
return currentPage == totalPage;    //如果当前页是最后一页
    }

    
public boolean isHasPreviousPage() {
        
return currentPage != 1;        //只要当前页不是第1页
    }

    
public boolean isHasNextPage() {
        
return currentPage != totalPage;    //只要当前页不是最后1页
    }

    
    
    
/**
     * 计算总页数,静态方法,供外部直接通过类名调用
     * 
@param pageSize 每页记录数
     * 
@param allRow 总记录数
     * 
@return 总页数
     
*/

    
public static int countTotalPage(final int pageSize,final int allRow){
        
int totalPage = allRow % pageSize == 0 ? allRow/pageSize : allRow/pageSize+1;
        
return totalPage;
    }

    
    
/**
     * 计算当前页开始记录
     * 
@param pageSize 每页记录数
     * 
@param currentPage 当前第几页
     * 
@return 当前页开始记录号
     
*/

    
public static int countOffset(final int pageSize,final int currentPage){
        
final int offset = pageSize*(currentPage-1);
        
return offset;
    }

    
    
/**
     * 计算当前页,若为0或者请求的URL中没有"?page=",则用1代替
     * 
@param page 传入的参数(可能为空,即0,则返回1)
     * 
@return 当前页
     
*/

    
public static int countCurrentPage(int page){
        
final int curPage = (page==0?1:page);
        
return curPage;
    }

}


4、Service层接口的设计:

public interface MemberService {
    
//省略其他的代码

    
/**
     * 分页查询
     * 
@param currentPage 当前第几页
     * 
@param pageSize 每页大小
     * 
@return 封闭了分页信息(包括记录集list)的Bean
     
*/

    
public PageBean queryForPage(int pageSize,int currentPage);

}


5、Service层实现类的部分内码如下:

public class MemberServiceImpl implements MemberService {
  
  
//通过applicationContext.xml配置文件注入MemberDao的值
    private MemberDao memberDao;
    
public void setMemberDao(MemberDao memberDao) {
        
this.memberDao = memberDao;
    }

    
    
/**
     * 分页查询
     * 
@param currentPage 当前第几页
     * 
@param pageSize 每页大小
     * 
@return 封闭了分页信息(包括记录集list)的Bean
     
*/

    
public PageBean queryForPage(int pageSize,int page){

        
final String hql = "from Member";        //查询语句
        int allRow = memberDao.getAllRowCount(hql);    //总记录数
        int totalPage = PageBean.countTotalPage(pageSize, allRow);    //总页数
        final int offset = PageBean.countOffset(pageSize, page);    //当前页开始记录
        final int length = pageSize;    //每页记录数
        final int currentPage = PageBean.countCurrentPage(page);
        List
<Member> list = memberDao.queryForPage(hql,offset, length);        //"一页"的记录
        
        
//把分页信息保存到Bean中
        PageBean pageBean = new PageBean();
        pageBean.setPageSize(pageSize);    
        pageBean.setCurrentPage(currentPage);
        pageBean.setAllRow(allRow);
        pageBean.setTotalPage(totalPage);
        pageBean.setList(list);
        pageBean.init();
        
return pageBean;
    }


6、在Struts2中调用queryForPageMemberService层的queryForPage()方法即可return一个包含分页信息、符合条件的结果集list, 代码如下:

public class ListMember extends ActionSupport{
    
//通过applicationContext.xml配置文件注入memberService的值
    private MemberService memberService;
    
public void setMemberService(MemberService memberService) {
        
this.memberService = memberService;
    }

    
    
private int page;    //第几页
    
    
private PageBean pageBean;    //包含分布信息的bean
    
    
public int getPage() {
        
return page;
    }


    
public void setPage(int page) {        //若URL中无此参数,会默认为第1页
        this.page = page;
    }


    
public PageBean getPageBean() {
        
return pageBean;
    }


    
public void setPageBean(PageBean pageBean) {
        
this.pageBean = pageBean;
    }


    @Override
    
public String execute() throws Exception {
        
//分页的pageBean,参数pageSize表示每页显示记录数,page为当前页
        this.pageBean = memberService.queryForPage(2, page);
        
return SUCCESS;
    }

}


7、最后在listMember.jsp页面中,用到了Struts2标签:

<s:iterator value="pageBean.list">
            
<s:property value="title"/>
            
<href="getArticle.action?id=<s:property value="id"/>">modify</a>
            
<href="deleteArticle.action?id=<s:property value="id"/>" onclick="return askDel()"/>delete</a><br/>
        
</s:iterator>
        共
<s:property value="pageBean.allRow"/> 条记录
        共
<s:property value="pageBean.totalPage"/> 页
        当前第
<s:property value="pageBean.currentPage"/><br/>
        
        
<s:if test="%{pageBean.currentPage == 1}">
            第一页 上一页
        
</s:if>
        
<s:else>
            
<href="listMyArticle.action?page=1">第一页</a>
            
<href="listMyArticle.action?page=<s:property value="%{pageBean.currentPage-1}"/>">上一页</a>
        
</s:else>
        
<s:if test="%{pageBean.currentPage != pageBean.totalPage}">
            
<href="listMyArticle.action?page=<s:property value="%{pageBean.currentPage+1}"/>">下一页</a>
            
<href="listMyArticle.action?page=<s:property value="pageBean.totalPage"/>">最后一页</a>
        
</s:if>
        
<s:else>
            下一页 最后一页
        
</s:else>

       到这里,Hibernate+Spring+Struts2整合开发中的分页问题就已经解决了,在我上述过程中,省略了许多Hibernate,Spring,Struts2的配置,那不是本文的重点,大家可以参考有关的书与资料,由于篇幅有限,在此就不一一列举。在以后的文章中,我也会详细地跟大家讲述SSH整合开发。
(*^-^*) 本文原创,转载请注明出处, http://www.blogjava.net/rongxh7谢谢! (*^-^*)


 



本文原创,转载请注明出处,谢谢!http://www.blogjava.net/rongxh7(心梦帆影JavaEE技术博客)
    

posted on 2008-11-29 20:54 心梦帆影 阅读(27018) 评论(114)  编辑  收藏 所属分类: Struts2.xHibernateSpring
评论共2页: 1 2 下一页 

评论:
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2008-12-09 22:37 | a
给我一份代码啊
我的339080005@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2008-12-11 00:44 | ssh爱好者
希望得到一分代码,多谢!
185819600@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2008-12-13 20:41 | 路人甲
您好,能抽点时间发份代码给我吗?找了好久,才看上一个合心意的!
我的邮箱:diamondiamon@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2008-12-22 14:19 | 您好,能不能发一份代码给我啊,谢谢
xyz8040@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-01-13 17:19 | 卡不诺
麻烦也给我一份哦,kakayou@126.com,谢谢  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-01-19 01:45 | vaio
麻烦也给我一份哦,vaio2009@sina.com,谢谢.  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-03-07 20:40 | 龙华城
很精彩的文章,我转载了。  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-03-08 21:10 | SSH学者
可否给我一份代码 我参考呀 做项目遇到了这个问题! 谢谢了
邮箱:1019695412@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-03-12 16:36 | he
麻烦也给我一份ssh分页代码,a_b_c8848@sina.com,谢谢.   回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-03-16 13:02 | 钱凯
可以发一份源码学习吗?谢谢,26765165@qq.com

并且对这句话没有能完全理解: "细心的读者会发现,这个类继承了HibernateDaoSupport类,HibernateDaoSupport是Spring提供的对Hibernate支持的类,getHibernateTemplate().executeFind(new HibernateCallback(){....})方法中的参数,我们使用了接口回调,在其参数内,我们能像原生的Hibernate一样调用query.setFirstResult(offset)和query.setMaxResults(length)来实现分页查询功能。"
能在哪本书学习到相关知识?  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-03-23 10:12 | skyheart
大哥,你好,能不能也给我发一份阿,真想学习学习,谢谢哈~
邮箱:511960205@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-03-25 21:42 | 龙华城
我也想要源码,给一份吧,老大。 82055185@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-03-30 08:37 | 周乐建
能否发我一份原代码给我,zhoulejian@126.com谢谢!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-03-31 13:44 | hjlv
也给我一份源码可以吗,我也在学这方面,先谢了!red_army_lv@126.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-04-07 15:43 |
你好,我想看看源码可以吗?或者整个框架的结构也可以. tianlin0704@163.com 谢谢~~!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-04-10 15:10 | mlysy
希望得到一分代码,多谢!
moliyishengyuan@126.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-04-20 07:18 | chenggang
我也希望看到源代码,哥们你有么,我想看看,如果有的话,也有时间,麻烦你发到gang_e@hotmail.com邮箱里面,Thank you!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-05-06 21:21 | 韩叶
好想看看源码...可以发给我吗?570414156@qq.com,十二万分的感谢  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-05-07 10:52 | sixbrother
源码可以发给我一份吗?six_brother@126.com,非常感谢!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2009-05-16 09:48 | 你好
要尊重知识,这是一个视频教程上的方案,请说明,尊重别人  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2009-05-20 09:56 | 过客
zw0806@yeah.net

谢谢!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2009-05-20 18:01 | zht
源码可以发给我一份吗?zht2006rj@126.com,非常感谢!
我正在自学Hibernate+Spring+Struts2整合开发,但那个配置文档不怎么会写,呵呵  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2009-05-22 10:52 | zhq
源码可以发给我一份吗?zhao2005hit@163.com,非常感谢!
我正在学jpa+Spring+Struts2整合开发,那个配置文档很重要,呵呵  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-05-23 12:40 | chouxuezhi
能发一份吗?谢谢!最近写在写ssh分页!老是出问题!希望发一份!
chouxuezhi2008@126.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-05-23 22:33 | 李兴明
能给我一份 SSH2的 完整的代码么 谢谢了 050705033@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-05-30 13:57 | 野皇
首先,非常感谢文章作者!不过我发现代码中有一处错误。
final int offset = PageBean.countOffset(pageSize, page); //当前页开始记录
上面的一句代码有误,其中的page参数应该改为 currentPage才行。  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2009-05-31 19:59 | zzh
谢谢啦!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-06-12 23:34 | at9088
太感谢了,ssh_分页憋了我一天了。。。。
写的太详细,太好了  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2009-06-24 22:46 | L
终于找到了.
谢谢楼主
能否发一份哈
谢谢
kblmb@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-07-30 14:47 | sanghaijuan
我也想要一份源代码,写的太好了,符合我心意!
sanghaijuan@126.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-08-04 15:49 | 邀月
可否发一份源码给我,谢谢
3w@live,cn
  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-08-08 16:43 | grant
能给我一份 SSH2的 完整的代码么 谢谢了 grantandjie@126.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2009-09-24 16:34 | jason
query.setFirstResult(offset);
query.setMaxResults(length);
List list = query.list();
1. 这里老是报错不知道怎么搞。
2. List<User> list = memberDao.queryForPage(hql,offset, length); //"一页"的记录
这里 list里面的值我总是取不到,总是报错.
---------------------
能否将你的源码也发一份给我, 感谢! aa-jason@1163.com   回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-10-09 15:51 | zailushang
能给我一份 SSH2分页的 完整的代码么 谢谢了
757142777@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-10-09 15:54 | zailushang
麻烦问一下,我的list怎么没值啊?在页面显示不出值,有多少条记录,多少页是可以显示出来的,这是怎么回事啊,能帮我解决一下吗?谢谢了  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-10-20 14:53 | 司如超
楼主写的太好了,比我看别的清晰多了,楼主能不能发一份源码给我,谢谢了。siruchao@yahoo.com.cn  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2009-10-21 11:31 | jun
这个太好了, 谢谢 , 有改进版的话(比如说加动态条件什么的),希望给也我发一份, yinaifan@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-10-26 21:45 | nileader
谢谢你了,真的很不错的demo  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-10-31 15:25 | 游客
不能显示数据库里的第一条记录  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-11-25 17:55 | ゞ沉默是金ゞ
能否把代码给我一份,bhdxyjg@126.com
由于在项目总发现点击到最后一页再点击上一页的时候就会出现死机的现象,能帮忙解决一下吗?  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-12-03 16:16 | girl
能否把代码发给我啊  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-12-03 16:16 | girl
楼主这是我的邮箱:yxh_@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-12-14 11:41 | zrcai
也发一份给我谢谢!
zrcai@126.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-12-18 14:38 | lvweisheng
能给我一份源码么楼主!谢谢了
我的邮箱是:lvweisheng9@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2009-12-19 16:19 | 乐生
能给我一份源码么楼主!谢谢了
我的邮箱是732898444@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2010-01-12 17:45 | wolftotem
你好,首先要感谢你能够分享知识。
我这里有个问题就是,页面A是一个表单,可以输入多个查询条件,数字,日期,汉字等都有,提交表单,通过Action调用Service接口,分页大小pageSize在搜spring配置文件里配置,Action交由Spring来管理,当我第一次查询时可能有50笔资料,分为3页显示在B页面,通过下一页点到最后一页,这时候我再在A页面输入另外一组查询条件,加入说满足此条件的记录只有2笔不用上下分页,这个时候怎么就查不出来呢。这时hql语句显示是select top 60 ,显然把刚才点最后一页是的页码缓存了。请问这个问题如何解决?  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2010-01-24 17:35 | hnwangdan
运行上面的程序,出现了不少问题,试着调试了,但还是没有成功

Action 里面的代码貌似有问题:this.pageUtil =bookDao.queryForPage(pageNow, pageSize);

能否提供下源程序代码完整的!?  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2010-04-06 09:20 | yr
你好,一直关注你,希望得到SSH的源码。yr512656630@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2010-04-12 22:46 | 叶子
能不能把改进后的源码发给偶啊,偶正在学习,谢谢哦 derrickye@126.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2010-04-21 09:50 | 翔宇
不错,思路很清晰,学习一下,不知道有没有可以封装动态查询参数的呢?  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2010-05-13 11:55 | llw
能给份源码吗?270181856@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2010-05-20 11:29 | hgh
等待...封装动态查询参数hgh44@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2010-10-29 22:56 | hefeng
Hibernate+Spring+Struts2整合开发中的一个分页显示方案代码可以发我一份吗???我的邮箱:hefeng1987.net@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2010-12-24 22:01 | seven
搞了很久也没搞明白!能把源码发我吗?谢谢!
seven.7and7@gmail.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2011-05-05 09:54 | binhong0708
@心梦帆影
修改后的版本麻烦给我也发一份吧 这个写得很好!刚找了好多 决定就用这个了!!!O(∩_∩)O谢谢 849321042@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2011-05-08 12:05 | thanks
厉害啊。谢谢哈  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2011-07-04 09:22 | 小谢
你好!能否把你的分页源码发给我,谢谢了!!!!!
邮箱:li_xiepeng@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2011-07-21 19:45 | jsina
修改后的版本麻烦给我也发一份吧 这个写得很好!刚找了好多 决定就用这个了!!!O(∩_∩)O谢谢 191314023@qq.com
麻烦你拉,非常感谢  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2011-09-14 17:36 | 小刚
大哥,那么多人都你说写的好,你的源代码也能不能发给我参考一下呢,谢谢,我的邮箱:389200338@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2011-09-30 09:58 | 李永生
有源码吗 发下 497234609qq  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2011-10-28 15:19 | 江玲
研究了大半天分页,没研究出来。这个不错,好厉害,能不能发下代码呢 O(∩_∩)O谢谢 xinguanjiang@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2011-11-02 00:02 | tester
q请问hibernate获取总记录是如何实现的,是不是要查询出所有的数据?
还是使用selec count之类的  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2011-11-20 09:47 | Ivy.lea
楼主啊
你看看我这么做行不?
session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
Criteria criteria = session.createCriteria(EntityBean.class);

这样能行吗?
要是这样做的话 需要关闭session吗?  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2011-12-10 15:06 | 阿牛
研究了大半天分页,没研究出来。这个不错,好厉害,能不能发下代码呢?
zgm1010zgm@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2012-01-05 10:39 | 小刚
大哥,你很厉害,向你学习,您的ssh分页源码能不能发给我啊?389200338@qq.com,向您致敬!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-02-02 10:55 | 诗诗
请把分页源码 发给我一份的 非常感谢 2389086068@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-02-22 20:53 | 小孙
大哥,我是新手能把分页的ssh的源码发给我看看,我不怎么会配里面的配置。非常感谢!240936354@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-03-23 00:46 | learner
这例子有点坑爹......  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-04-15 13:02 | bit
例子不错,多谢LZ。。。本人是初学者,如果方便发份源码来研究,研究!

1054993544@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-04-23 20:39 | rhgang
你好!能否把你的分页源码发给我,谢谢了!!!!!
邮箱:rhgang@yeah.net  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-04-25 08:57 | wuming
非常好的分页工具,多谢楼主  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-05-17 16:57 | 游客
能否把代码例子发给我,lz
我按你的例子只实现了显示有多少页,并没有真正实现分页显示,那个listMyArticle.action不知道LZ是怎么实现的?求代码?jamy888@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-06-05 11:45 | 游客
@游客
多谢LZ,方便的话能否把你的源码发给我看看呢,我按你的例子写了,可是页面什么内容都没有显示,我在后台验证了,信息都有,就是页面没显示,不知道是哪里出了错,搞了很久,都没搞定。。。shyhongyu123@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-07-18 16:16 | 游客
我想知道,这个的hql是要在DAO的实现层里赋值??还是怎么样  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2012-09-20 02:14 | 小刘
老大,我是新人,可否给我份源码、  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2012-09-20 02:15 | 小刘
122149041@qq.com
  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-11-08 15:47 | 陈丞
我照着你的这个写完,尝试配置了一下applicationcontext.xml但是一执行action就报空指针啊,求大师指导,我的qq:78582519 感激不尽。  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2012-12-11 15:16 | 山猫
你好 发我一份代码吧 我的qq 94513854@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-01-06 21:30 | xiao wang
给我也来份。我合了好久,老是报错。。谢谢  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-01-06 21:30 | xiao wang
给我也来份。我合了好久,老是报错。。谢谢
cuipengfei103@foxmail.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-02-20 10:09 | manchun
能否把代码例子发给我
yballin@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-02-20 10:44 | 捭阖
能发一份源码给我么 谢谢 731017882@QQ.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-03-10 10:35 | 非也
求份源码研究研究236308301@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-03-16 11:56 | 有点生涩
你好,我看了你的分页觉得有点似懂非懂的,麻烦你发份给我好吗?如果有更好的,也希望不吝赐教,576248712@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-04-01 15:02 | rainday
新手求源码:kaibin007@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-05-21 11:27 | willsine
求源码 谢谢楼主 1527788745@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-06-04 15:05 | rainday
看了三遍,学到很多,谢谢楼主  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2013-06-06 09:00 | hello
请问一下继承了hibernateDaoSupport后hibernateTemplate的setter和getter方法就不能使用了,请问可以怎么解决,,,可以分享源码不...
hdblocal@163.com 谢谢了  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-06-07 15:10 |
亲,能源码发一份吗?164679848@qq.com谢谢!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2013-08-14 09:42 | 新手上路
请问你的问题解决了吗@zailushang
  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2013-08-14 09:52 | 郁闷了
亲,能发下源码吗?谢谢!jiayanwei_happy@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-10-11 17:32 | 陈清锦
按流程做了一遍,但是结果老是有错误啊,水平不够 希望能传给源码给我参考
601137617@qq.com万分感谢中  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-10-22 16:49 | ydf
估计配置问题老报错!给份源码吧!myEmail163_ydf@163.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2013-11-02 16:57 | an
正在学习ssh分页技术,求源码作学习资料。925503490@qq.com!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-11-28 18:03 | ssdfg
配置Spring后运行报空指针啊,错误在services实现类的 int allRow = memberDao.getAllRowCount(hql); //总记录数
这个位置!求大神解释???????  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-11-30 10:28 | zyl007
public static int countOffset(final int pageSize,final int currentPage)
{ int curpage=(currentPage==0?1:currentPage)
final int offset = pageSize*(curpage-1);
return offset;
}
这样改一下就可以不报不能进结果集的错误了!记得在Spring services接口 注入 MemberDao 接口!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2013-11-30 10:37 | zyl007
@jason
你的问题是在报不能进结果集的错误吧!是这样的错误吧:
HTTP Status 500 - Hibernate operation: could not execute query; uncategorized SQLException for SQL [select tbook0_.bid as bid1_, tbook0_.bookName as bookName1_, tbook0_.price as price1_, tbook0_.images as images1_, tbook0_.stock as stock1_ from BookShop.dbo.T_Book tbook0_]; SQL state [null]; error code [0]; 只进结果集不支持请求的操作。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作。
这是由于在Hibernate 回调函数查询时在offset传入的是负值,需要在PageBean实体类修改Offset方法;这样改一下就不报错误了
public static int countOffset(final int pageSize,final int currentPage)
{ int curpage=(currentPage==0?1:currentPage)//
判断一下currentPage是否为0,是就为offset赋值为1
final int offset = pageSize*(curpage-1);
return offset;
}
这样就不会导致offset为负值,就不会导致只进结果集的错误了!
你试一下吧!  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2015-08-01 09:42 | 游客
写得很清楚,感觉会很有帮助,谁有完整源码可以发一份供学习吗?非常感谢!771034385@qq.com  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案 2015-11-17 16:11 | 肥皂不起沫
谢谢博主,你说的对我很有用,谢谢博主,你说的对我很有用  回复  更多评论
  
# re: Hibernate+Spring+Struts2整合开发中的一个分页显示方案[未登录] 2016-05-05 17:19 | LEI
可以给我发一份吗 我邮箱:550400907@qq.com  回复  更多评论
  
评论共2页: 1 2 下一页 

只有注册用户登录后才能发表评论。


网站导航: