struts分页的一种实现

转载 2006年06月22日 13:00:00

使用一个页面控制类,它记录页面信息,如上页,下页,当前页等。在查询的Action中,将这个控制类和查询条件一起传递给数据库访问bean,然后将这两个参数保存在用户session中。在分页控制Action中,利用接收到的分页参数调用数据库访问的bean.
(1)分页控制类

package com.tower.util;
public class PageController {
    int totalRowsAmount; file://总行数
    boolean rowsAmountSet; file://是否设置过totalRowsAmount
    int pageSize=2;   file://每页行数
    int currentPage=1; file://当前页码
    int nextPage;
    int previousPage;
    int totalPages;  file://总页数
    boolean hasNext;  file://是否有下一页
    boolean hasPrevious; file://是否有前一页
    String description;
    int pageStartRow;
    int pageEndRow;
    
    public PageController(int totalRows){
  setTotalRowsAmount(totalRows);
    }
    public PageController(){}
public void setTotalRowsAmount(int i) {
  if(!this.rowsAmountSet){
   totalRowsAmount = i;
   totalPages=totalRowsAmount/pageSize+1;
      setCurrentPage(1);
   this.rowsAmountSet=true;
  }
  
}
public void setCurrentPage(int i) {
  currentPage = i;
  nextPage=currentPage+1;
  previousPage=currentPage-1;
  file://计算当前页开始行和结束行
  if(currentPage*pageSize
      pageEndRow=currentPage*pageSize;
      pageStartRow=pageEndRow-pageSize+1;
      
  }else{
      pageEndRow=totalRowsAmount;
      pageStartRow=pageSize*(totalPages-1)+1;
  }
  if (nextPage>totalPages){
      hasNext=false;
  }else{
   hasNext=true;
  }
  if(previousPage==0){
     hasPrevious=false;
  }else{
   hasPrevious=true;
  };
  System.out.println(this.description());
}
public int getCurrentPage() {
  return currentPage;
}
public boolean isHasNext() {
  return hasNext;
}
public boolean isHasPrevious() {
  return hasPrevious;
}
public int getNextPage() {
  return nextPage;
}
public int getPageSize() {
  return pageSize;
}
public int getPreviousPage() {
  return previousPage;
}
public int getTotalPages() {
  return totalPages;
}
public int getTotalRowsAmount() {
  return totalRowsAmount;
}
public void setHasNext(boolean b) {
  hasNext = b;
}
public void setHasPrevious(boolean b) {
  hasPrevious = b;
}
public void setNextPage(int i) {
  nextPage = i;
}
public void setPageSize(int i) {
  pageSize = i;
}
public void setPreviousPage(int i) {
  previousPage = i;
}
public void setTotalPages(int i) {
  totalPages = i;
}
public int getPageEndRow() {
  return pageEndRow;
}
public int getPageStartRow() {
  return pageStartRow;
}

public String getDescription(){
    String description=/"Total:/"+this.getTotalRowsAmount()+
    /" items /"+this.getTotalPages() +/" pages/";
//    this.currentPage+/" Previous /"+this.hasPrevious +
//    /" Next:/"+this.hasNext+
//    /" start row:/"+this.pageStartRow+
//    /" end row:/"+this.pageEndRow;
    return description;
}

public String description(){
    String description=/"Total:/"+this.getTotalRowsAmount()+
    /" items /"+this.getTotalPages() +/" pages,Current page:/"+
    this.currentPage+/" Previous /"+this.hasPrevious +
    /" Next:/"+this.hasNext+
    /" start row:/"+this.pageStartRow+
    /" end row:/"+this.pageEndRow;
    return description;
}


public static void main(String args[]){
  PageController pc=new PageController(3);
        System.out.println(pc.getDescription());
//        pc.setCurrentPage(2);
//  System.out.println(pc.description());
//  pc.setCurrentPage(3);
//  System.out.println(pc.description());
}

datagrid分页的一种实现方法

初学datagrid时,很难成功实现分页,一部分是因为datagrid对分页的支持并不是非常完美,还有一部分原因是因为我们在使用springmvc生成json时经常借助responsebody直接生成...

分页的另一种实现-不用额外请求

情景:千里码有些最优化题目的旁边会有一个排行榜,用来展示不同的答案。比如[Uber打车匹配](http://www.qlcoder.com/task/7596) 这里的答题人数并不多,但是[老王装货]...
  • Toxic07
  • Toxic07
  • 2015年11月22日 13:54
  • 568

redis value为对象的排序、分页的一种实现

-------基于HBase存储引擎并实现了排序、分页的Redis缓存策略   思路: 1、  当前系统缓存json,根据key存取value,key 和value都是String类型,直...

Struts+Hibernate实现分页

  • 2015年05月12日 21:24
  • 32KB
  • 下载

struts-ajax实现局部刷新分页

struts-ajax实现局部刷新分页

hibernate+Struts+sql2000实现分页

  • 2007年12月25日 10:22
  • 6.06MB
  • 下载

Struts1.2实现MySQL数据库分页.txt

  • 2008年11月29日 11:20
  • 29KB
  • 下载

struts2+spring+mybatis datagrid增删改查以及分页的实现

经过这几天的努力,终于把所有的功能都实现了。借鉴了大神们的太多,感谢你们。 那我就慢慢贴出我的代码。 一:easyUi 和struts2+spring+mybatis 环境搭建 二:...
  • bwh0520
  • bwh0520
  • 2017年12月12日 22:43
  • 12
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts分页的一种实现
举报原因:
原因补充:

(最多只允许输入30个字)