后台查询出三个list,分别是DataList,HtmlList,DocmentList,在页面分别显示十条。
第一种情况,怎么分页,最大页码是三个List.size()最大的吗,
第二种情况,假如DataList为0,那怎么控制下一页,下一页要带两个参数,一个是从第几页startindex,二个是每页显示10,三个list怎么控制,
急死人怎么办啊,大家帮助一下
第一种情况,怎么分页,最大页码是三个List.size()最大的吗,
第二种情况,假如DataList为0,那怎么控制下一页,下一页要带两个参数,一个是从第几页startindex,二个是每页显示10,三个list怎么控制,
急死人怎么办啊,大家帮助一下
lz可以自己去写下。
一个计算分页的小例子:
/**
* 公共服务组件:分页参数计算服务
* @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());
}
}
调用后有个result, list = result.get_list();得到list.
调用doSearch方法三次,得到三个list,要显示在页面,怎么分页,
从哪里得到这个三个List呢,如果不用数据库的话