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());
}

相关文章推荐

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

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

Struts+Hibernate实现分页

  • 2015-05-12 21:24
  • 32KB
  • 下载

Struts2中实现自定义分页标签2

2.2.3       1.2       tangs       /tangs    &...
  • ye1992
  • ye1992
  • 2013-11-26 09:59
  • 1321

jQuery+AJAX+Struts实现无刷新分页

jQuery+AJAX+Struts实现无刷新分页 步骤:   1、 myeclipse下新建一个web项目;   2、 给项目添加struts能力; ...

struts2实现分页

参考别人的基础上,实现自己项目的分页 1.页面:page.jsp引入到其他列表页面中       分页内容               ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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