第一次用struts+hibernate+jsp来实现分页,不过两天都没有搞定,现求那位大侠帮忙发个源代码来看看,现在网上的都是抄来抄去,其实就是一个,但run不起来。

解决方案 »

  1.   

    最近我也在搞struts+hibernate,不过还没怎么会搞,也希望能找个简单的例子看看
      

  2.   

    // 分页调用函数 可以传入hql语句
    public List findPageByHql(int currPage,int pageSize, String hql) {
       try {
        String queryString = hql;
        Query queryObject = getSession().createQuery(queryString);
        queryObject.setFirstResult((currPage-1)*pageSize);  //设置开始查找处 值应该是 (当前页面-1)X每页条数    queryObject.setMaxResults(pageSize);//设置每页最多显示的条数 每页的条数    getSession().clear();
        return queryObject.list();
       } catch (RuntimeException re) {
        throw re;
       }
    }setMaxResults() 和 setFetchSize()setFirstResult 是设置开始查找处,setMaxResults是设置每页最多显示的条数。如果放在分页程序里边 setFirstResult的值应该是 (当前页面-1)X每页条数,setMaxResults 就是每页的条数了。关于setMaxResults 和 setFetchSize 的区别:
    setMaxResults 是用来配合数据库生成sql的,在sql里就控制查询的记录数目 
    setFetchSize是控制查询结果的,可能sql已经查询出100条,但是hibernate只取前10条放到返回的List里。 
    public List getList() throws HibernateException {
                                   Session session = HibernateUtil.currentSession();
                                   Transaction tx = session.beginTransaction();
                                   Query query = session.createQuery(
                                           "from Table");
                                   query.setFirstResult(0);
                                   query.setMaxResults(10);
                                   List list = query.list();
                                   tx.commit();
                                   HibernateUtil.closeSession();
                                   return list;
                   }
      

  3.   

    我也做出来了,只碰到一个问题,就是没有submit的form如何设置action