各位大大 小弟刚学完struts2和hibernate 想做一个分页
但是没什么思路 哪位大大可以给个简单版的分页代码
不需要太详细的 100分不是很多 略表心意

解决方案 »

  1.   

    比如每页显示20条记录, 查找第2页struts:
     articles = new ArticleDao().findByPage(p);
    hibernate:
    public List<Article> findByPage(int p){
         return session.createQuery("from Article")
                       .setFirstResult( 20 * (p - 1) )
                       .setMaxResult(20)
                       .list();
    }
      

  2.   

    主要是用到了setFirstResult()和setMaxResult()相当与mysql  中的 limit 
      

  3.   

    通过一个PageAction来实现分页
    public class PageAction extends ActionSupport{
    private int pageNumber = 1;
    private int pageSize = 5;
    private int totalPage;
    ........省略get、set方法
    public String execute(){
       PageDao pDao = new PageDao();
       int employeeCount = pDao.getEmployeeCount();
       this.totalPage = employeeCount % pageSize == 0?(employeeCount/pageSize):(employeeCount/pageSize + 1);
       if(this.pageNumber <= 0)
    this.pageNumber = 1;
       if(this.pageNumber > totalPage)
    this.pageNumber = totalPage;
       return SUCCESS;
        }
    }
    public class ListAction extends ActionSupport {
    private int pageNumber;
    private int pageSize;
    private int totalPage;
    private List<People> allPeoples;
    ........省略get、set方法
    public String execute(){
      PageDao pDao = new PageDao();
      allPeoples = HibernateUtils.getAllPeoples(pageNumber, pageSize);
      return SUCCESS;
    }
    }在Struts中应该这样配置 <action name="allPeoples" class="org.struts.action.ListAction">
    <result name="success">pages/pageData.jsp</result>
    </action>
    <action name="pageAction" class="org.struts.action.PageAction">
    <result type="redirect">allPeoples.action?pageNumber=${pageNumber}&amp;totalPage=${totalPage}&amp;pageSize=${pageSize}</result>
    </action>不知道可不可以帮助你,分页这种东西网上很多,找几个看看就行
      

  4.   

    我也写过一个封装的分页,就7个java文件。
    1、Compare.java,里面枚举比较关系
    2、LinkCondition.java,就是连接条件的类
    3、Pager.java,分页条件类,就是分页的下标、页显示数据条数、记录条数还有页数
    4、Order.java,排序条件,就是按哪个属性排序
    5、OrderDirect.java,排序方向,ASC还是DESC
    6、Condition.java,里面是放条件的类,参数名、参数值、关系、连接条件、分页条件、排序条件总之你sql语句用到的
    7、ResultList.java,就是结果表了,返回对象表。这都是当初在学校写的,分类有点累赘,不过显而易懂吧,以后再完善
      

  5.   

    hibernate 有自己的分页方法,可用查查资料即可。问题是如何将用户点击或者选择的页数传给hibernate