后台查询出三个list,分别是DataList,HtmlList,DocmentList,在页面分别显示十条。 
第一种情况,怎么分页,最大页码是三个List.size()最大的吗, 
第二种情况,假如DataList为0,那怎么控制下一页,下一页要带两个参数,一个是从第几页startindex,二个是每页显示10,三个list怎么控制, 
急死人怎么办啊,大家帮助一下 

解决方案 »

  1.   

    主要是 sql语句的写法问题。
    lz可以自己去写下。
      

  2.   

    如果你用 hibernate 来做分页的话,就更加的简单了。
      

  3.   

    我是做搜索项目的,不用hibernate,sql
      

  4.   

    sql 就直接去写分页的  sql语句就可以啦
      

  5.   

    大家来想想办法,经理早就对我工作不顺眼了,,我们现在是做搜索项目,调用方法后得到三个list,在线等待
      

  6.   

    搜索项目 没有sql,不是对数据库操作
      

  7.   

    建议楼主上网找一下分页的例子,三个list就对应三组分页参数,不难的。
    一个计算分页的小例子:
    /**
     * 公共服务组件:分页参数计算服务
     * @author dinghun8leech
     * @date 100309
     * @version 1.0t
     */
    public class Paging {
    /** total_count 元素数量总和 */
    private int total_count;
    /** page_elements 每页显示元素数量 */
    private int page_elements;
    /** total_index 总页数 */
    private int total_index;
    /** frist_index 首页索引 */
    private int frist_index;
    /** last_index 上一页索引 */
    private int last_index;
    /** next_index 下一页索引 */
    private int next_index;
    /** end_index 末页索引 */
    private int end_index;
    /** this_index 当前请求页索引 */
    private int this_index;
    /** limit_start 当前读取数据的起始下标 */
    private int limit_start;
    /**
     * +2参数重载构造方法
     * 使用指定每页元素数量和元素总和来按照第一页索引计算分页参数
     * @param int 每页显示元素数量
     * @param int 元素数量总和
     */
    public Paging(int page_elements, int total_count) {
    this(page_elements, total_count, 1);
    }
    /**
     * +3参数重载构造方法
     * 使用指定每页元素数量和元素总和来按照指定页索引计算分页参数
     * @param int 每页显示元素数量
     * @param int 页面元素总和
     * @param int 当前请求页索引 
     */
    public Paging(int page_elements, int total_count, int this_index) {
    if (page_elements < 1) {
    throw new IllegalArgumentException("每页显示元素数量不可小于1");
    }
    if (total_count < 0) {
    throw new IllegalArgumentException("页面元素总和不可小于0");
    }
    if (this_index < 1) {
    throw new IllegalArgumentException("当前请求页索引不可小于1");
    }
    this.page_elements = page_elements;
    this.total_count = total_count;
    this.this_index = this_index;
    mathIndex();
    }
    /**
     * 获取元素数量总和
     * @return int 元素数量总和
     */
    public int getTotalCount() {
    return total_count;
    }
    /**
     * 获取首页页码
     * @return int 首页页码
     */
    public int getFristIndex() {
    return frist_index;
    }
    /**
     * 获取上一页页码
     * @return int 上一页页码
     */
    public int getLastIndex() {
    return last_index;
    }
    /**
     * 获取下一页页码
     * @return int 下一页页码
     */
    public int getNextIndex() {
    return next_index;
    }
    /**
     * 获取末页页码
     * @return int 末页页码
     */
    public int getEndIndex() {
    return end_index;
    }
    /**
     * 获取当前页页码
     * @return int 当前页页码
     */
    public int getThisIndex() {
    return this_index;
    }
    /**
     * 获取当前页所需加载的条目起始下标
     * @return int 当前页页码
     */
    public int getLimit_start() {
    return limit_start;
    }
    /**
     * 获取总页数
     * @return int 总页数
     */
    public int getTotalIndex() {
    return total_index;
    }
    /**
     * 设置当前页码
     * @param int 当前页码
     */
    public void setThisIndex(int this_index) {
    if (this_index < 1) {
    throw new IllegalArgumentException("当前请求页索引不可小于1");
    }
    this.this_index = this_index;
    mathIndex();
    }
    /**
     * 根据现有每页显示元素数量和元素总和计算所有分页参数
     */
    private void mathIndex() {
    total_index = total_count / page_elements;
    if (total_count % page_elements > 0) {
    total_index += 1;
    }
    if (total_index > 1) {
    if (this_index < total_index) {
    next_index = this_index + 1;
    end_index = total_index;
    }
    if (this_index > 1) {
    frist_index = 1;
    last_index = this_index - 1;
    }
    }
    limit_start = page_elements * (this_index - 1);
    }
    public static void main(String [] args) {
    //一个示例演示,三个list就使用三个示例即可,将此对象传至jsp端控制生成分页栏即可
    //当页码为0代表对应链接不可达或不存在
    Paging paging = new Paging(10,107,3);//param1:每页显示数量 param2:总数 param3:当前页码
    System.out.println("总数:"+paging.getTotalCount());
    System.out.println("总页数:"+paging.getTotalIndex());
    System.out.println("当前页:"+paging.getThisIndex());
    System.out.println("首页码:"+paging.getFristIndex());
    System.out.println("前页码:"+paging.getLastIndex());
    System.out.println("后页码:"+paging.getNextIndex());
    System.out.println("末页码:"+paging.getEndIndex());
    System.out.println("当前页码应从数据集中截取的起始下标:"+paging.getLimitStart());
    }
    }
      

  8.   

    就是有个方法,public boolean doSearch(String queryString, int indextype, int startIndex, int thisPageNum, boolean usePageCache, boolean useHitsCache, boolean useUserCache, SearchResult result) startIndex参数是起始例如10,thisPageNum是每页10条
       调用后有个result, list = result.get_list();得到list.
    调用doSearch方法三次,得到三个list,要显示在页面,怎么分页,
      

  9.   

    一个分页好简单,三个怎么办,例子是一个list,大家在拍拍砖想想办法
      

  10.   

    兄弟,你那三个List都装什么内容呢?
    从哪里得到这个三个List呢,如果不用数据库的话
      

  11.   

    能用一个分页条控制三个list吗
      

  12.   

    DataList,HtmlList,DocmentList  这三个list 按照某种顺序直接全部放到一个AllList 里面。再对AllList 一个list 进行分页不就完了
      

  13.   

    是一个方法我也想到了,感觉还是不妥,dosearch()方法,里面的参数,indexstart,thisPageNum。相当调用三次,感觉这个方法是不是要改改,