struts分页的一种实现!(一)

原创 2004年04月20日 12:09:00

    看到大家对struts的学习热情很高,而且这方面的资料很少,看着大家很累,所以发发善心,看到很好的一种分页方法,就贴出来大家共同分享!(原作在javaworld),有不完善的地方,希望大家改正!!!

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

 (1)分页控制类<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java与Struts结合写一个简单基础的分页显示

用Struts2做一个简单的基础的分页显示。我的想法是把数据库表中的每一行数据都封装成一个对象,然后用一个ArrayList的方法返回这些对象,接着在Struts2的action里面定义一个Array...
  • liu_c_y
  • liu_c_y
  • 2016年06月17日 11:46
  • 847

struts分页的一种实现

使用一个页面控制类,它记录页面信息,如上页,下页,当前页等。在查询的Action中,将这个控制类和查询条件一起传递给数据库访问bean,然后将这两个参数保存在用户session中。在分页控制Actio...
  • CJamie
  • CJamie
  • 2006年06月22日 13:00
  • 839

Struts实现分页显示数据

//操作的数据库中的表名为:UserInfo,有三个属性:userId,userName,userPassword(顾名思义) 首先为UserInfo表构造一个相对应的JavaBean,Us...
  • izhouxiaofei
  • izhouxiaofei
  • 2016年12月01日 23:57
  • 2126

struts分页的一种实现

使用一个页面控制类,它记录页面信息,如上页,下页,当前页等。在查询的Action中,将这个控制类和查询条件一起传递给数据库访问bean,然后将这两个参数保存在用户session中。在分页控制Actio...
  • CJamie
  • CJamie
  • 2006年06月22日 13:24
  • 871

struts2实现最简单的分页技术

struts2实现分页技术: 在对MemberUser类(表)中的数据进行分页:  1.在MemberUserDaoImpl 中添加 获取数据库中表的总数量的方法: public int coun...
  • u013147600
  • u013147600
  • 2015年04月02日 15:27
  • 1057

struts2 分页查询实例

声明一下:本人是菜鸟,
  • yisu0605
  • yisu0605
  • 2014年09月01日 19:12
  • 3489

struts-ajax实现局部刷新分页

struts-ajax实现局部刷新分页
  • Javacghv
  • Javacghv
  • 2015年07月29日 23:06
  • 646

基于Struts2框架的分页技术分享

基于Struts2框架的分页技术分享写在最前面今天被朋友圈一条京东确认12G数据用户数据泄漏 你要跑赢骗子的说说吓了一跳。记得好像在去年的时候就好像听说过说Struts2存在漏洞,只是没有造成这么大的...
  • qq_23703157
  • qq_23703157
  • 2016年12月11日 23:38
  • 500

一种struts分页方法

分页处理的bean类PageableResultSet.java的构造函数参数为一个ResultSet对象,即执行查询语句得到的ResultSet。其具体代码如下:public class Pagea...
  • andyelvis
  • andyelvis
  • 2007年07月27日 23:37
  • 803

在struts中分页的一种实现

在struts中分页的一种实现我的项目中的分页功能1, 思路 使用一个页面控制类,它记录页面信息,如上页,下页,当前页等。在查询的Action中,将这个控制类和查询条件一起传递给数据库访问bean,然...
  • lvchaoxv
  • lvchaoxv
  • 2007年01月23日 00:27
  • 601
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts分页的一种实现!(一)
举报原因:
原因补充:

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