当前位置: 代码迷 >> Java Web开发 >> 分页 在action中实现上下页功能解决方法
  详细解决方案

分页 在action中实现上下页功能解决方法

热度:655   发布时间:2016-04-17 10:54:49.0
分页 在action中实现上下页功能
我已经分出页了,本来记录是20条,但是我分的是每页是10条,他只显示了10条,另外的显示不出来,就是说上下页不能用。请各位帮帮

代码:

  int pagesize=10; 
int page = 0; //当前第几页
int total; //总页数
if(list.size()>0){
total=(int)Math.ceil(list.size()*1.0/pagesize);//总页数
if(page<1){
page=1;
}
if(page>total){
page=total;
}
int startsize=(page-1) * pagesize;
startsize=(startsize<list.size())?startsize:list.size()-1;

int endsize= startsize + pagesize;
endsize=(endsize<list.size())?endsize:list.size();
list=list.subList(startsize,endsize);
request.setAttribute("list", list);
}

return mapping.findForward("success");

------解决方案--------------------
在网上搜索下java分页,一般是把分页写成一个page对象来处理的。。
你这里相当于把page对象丢在action里了。那么你的每次请求的都是初始值而没有改变
所以你把page独立出来一个对象,那么每次根据你action的页面请求来传递你需要的数据
------解决方案--------------------
你要把跳转的页 写进 request中 这样 每次 提交都获取不同的页数了
------解决方案--------------------
探讨

Java code

int pagesize=10;
int page = 0; //当前第几页
int total; //总页数



你每次都给初始值 当然没有下一页了

上一页 和 下一页 的值要从页面传过来(当前页+1 或者 -1) 
如果当前页为空 再给默认值为1

------解决方案--------------------
列表及分页,建议直接找控件。网上有大把的,以grid或datatable搜索,
比如著名的jqgrid, extjs的datagrid .直接使用这些一劳永逸。
  相关解决方案