只有vo servcie action 不写Dao怎么写分页呢有哪个大神帮忙解决一下噻

解决方案 »

  1.   

    DAO没有分页方法的话,你可以先查出所有,然后分批装到一个map集合里,它的key就代表页数。
      

  2.   

    这是代码:public HashMap<Integer, List> fy(List list, int hs) {
            HashMap<Integer, List> ha = new HashMap<Integer, List>();
     
            // 得到总页数
            int zys =   1;
            if (hs > list.size())
                zys =   1;
            if (list.size() % hs ==   0) {
                zys = list.size() / hs;
            } else
                zys = list.size() / hs +   1;
     
            // 得到分页过的数据
     
            for (Integer q =   1; q <= zys; q++) {
                List fylist = new ArrayList();
     
                for (int i = (q -   1) * hs; i < q * hs; i++) {
                    if (i == list.size())
                        break;
                    fylist.add(list.get(i));
     
                }
                ha.put(q, fylist);
            }
     
            return ha;
        }
      

  3.   

    两个参数list,hs分别为:分页的数据,一页多少行。 或者你还可以用其他方法
      

  4.   

    那你直接jsp + servler + server ; 
      

  5.   

    这样如果系统数据达到上千万条,你放map里面,内存会飙高,那就死翘翘了。
    这个对于数据量很小,适合放map,对于大数据还是建议你不这么放,该查几条就到数据库获取几条。
    这个我有源码,也可以告诉你按条数分页,Q:54963779
      

  6.   

    看可以帮助你一点不,你参考下
    http://blog.csdn.net/yjyzsl/article/details/9708381
      

  7.   

    http://blog.csdn.net/kobe_byrant/article/details/7627462
    我以前写的,LZ可以参考。
      

  8.   

    我有个通用的,目测楼主是SSH框架~只跟传进来的参数进行使用~package com.java.ssh.entity;import java.util.List;public class PageBean {
    private List list; //返回多少条数据
    private int allRow;//总记录数
    private int totalPage;//总页数
    private int currenPage;//当前页
    private int pageSize;//每页有多少条记录

    private boolean isFirstPage;//是否是第一页
    private boolean isLastPage;//是否是最后一页
    private boolean hasPreviousPage;//是否有前一页
    private boolean hanNextPage;//是否有下一页

    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 getCurrenPage() {
    return currenPage;
    }
    public void setCurrenPage(int currenPage) {
    this.currenPage = currenPage;
    }
    public int getPageSize() {
    return pageSize;
    }
    public void setPageSize(int pageSize) {
    this.pageSize = pageSize;
    }

    /**
     * 初始化分页
     * */
    public void init(){
    this.isFirstPage=isFirstPage;
    this.isLastPage=isLastPage;
    this.hanNextPage=hanNextPage;
    this.hasPreviousPage=hasPreviousPage;
    }

    /**
     * 判断分页的信息
     * */
    public boolean isFirstPage() {
    return currenPage == 1;//如果当前是第一页
    }
    public boolean isLastPage() {
    return currenPage==totalPage;//如果当前是最后一页
    }
    public boolean isHasPreviousPage() {
    return currenPage != 1;//当前不是第一页
    }
    public boolean isHanNextPage() {
    return currenPage != totalPage;//当前不是最后一页
    }

    /**
     * 计算总页数,静态方法,供外部直接通过类名调用 
     * @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;
    }
    }int allRow = imd.getAllRowcount(hql); //总记录数
    int totalPage = PageBean.countTotalPage(pageSize, allRow); //总页数
    final int offset = PageBean.countOffset(pageSize, page);//开始记录数
    final int length = pageSize;//每页记录数
    final int currentPag = PageBean.countCurrentPage(page);
    List<GoodsInfo> list = (List)imd.queryForPage(hql, offset, length);
      

  9.   

    传当前页码和每页条数进去,构造分页的sql语句