`
roruby
  • 浏览: 335130 次
  • 来自: ...
社区版块
存档分类
最新评论

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

阅读更多
 

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

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

 (1)分页控制类<!----><o:p></o:p>

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

分享到:
评论

相关推荐

    struts分页算法的实现

    Struts分页算法是Java Web开发中常用的一种技术,它主要用于处理大数据集合的展示,提高网页的加载速度和用户体验。在Struts框架下,我们通常会结合Servlet、JSP和数据库查询来实现分页功能。以下将详细讲解Struts...

    struts2.0实现的数据分页实现及实现分页步骤

    Struts2.0 是一个流行的Java Web开发框架,它提供了一种组织和控制MVC(Model-View-Controller)架构的方式,使得开发者可以更高效地构建动态Web应用程序。数据分页是Web应用中常见的需求,特别是在处理大量数据时,...

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    分页是一种常见的技术手段,用于在数据量较大时提高用户体验。其实现的基本思路是将数据分割成多个小部分,每次只显示其中的一部分数据。用户可以通过翻页操作来查看其他部分的数据。 #### Struts2与Hibernate在...

    jsp +struts 分页经典

    本项目名为“jsp +struts 分页经典”,显然是一个利用这两种技术实现的分页展示数据的案例。下面我们将深入探讨JSP和Struts框架,以及它们在分页、查询和数据操作中的应用。 首先,JSP是Java平台上的动态网页技术,...

    Struts+Hibernate实现分页

    在IT领域,分页是一种常见的数据展示方式,特别是在处理大量数据时,为了提高用户体验和页面加载速度,我们会将数据分成多个部分(页)进行显示。本篇将介绍如何使用Struts和Hibernate框架来实现Web应用中的分页功能...

    Hibernate+Struts分页的实现

    在开发Web应用程序时,分页是一种常见的功能,用于提高用户体验并优化系统性能。"Hibernate+Struts分页的实现"这个话题关注的就是如何在大型数据集的场景下,结合这两种技术来有效地实施分页策略。 首先,让我们...

    用struts实现的分页

    在处理大量数据时,分页是一种常见的优化手段,能够有效地提升用户体验,避免一次性加载过多数据导致的页面响应慢或者内存压力大等问题。下面我们将深入探讨如何在Struts框架下实现分页功能。 首先,我们需要理解...

    Struts分页.Struts分页.

    Struts框架提供了一种优雅的方式来实现分页,使得在Java应用程序中实现这一功能变得更加简单。 在传统的Java开发中,实现分页可能涉及到复杂的数据查询、计算总页数、处理请求参数等步骤。然而,Struts通过...

    struts2.0实现数据分页

    在Web应用程序中,数据分页是一种常见的功能,用于提高用户体验并优化服务器性能。当我们处理大量数据时,一次性加载所有数据可能会导致页面加载缓慢,甚至内存溢出。因此,数据分页技术应运而生。 **Struts2.0 ...

    struts2分页代码的示例

    在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示...

    ajax+struts分页

    在Ajax+Struts分页中,主要涉及以下几个步骤: 1. **前端页面**:使用JavaScript和HTML构建用户界面。当用户点击分页链接时,会触发Ajax请求,而不是传统的页面跳转。 2. **Ajax请求**:通常使用JavaScript库如...

    struts2分页效果第二种

    本文将详细介绍Struts2实现分页效果的第二种方法。 在Struts2中,实现分页通常涉及以下几个关键步骤: 1. **模型(Model)**:首先,我们需要一个实体类来存储待分页的数据,例如`User`。然后,创建一个`PageBean`类...

    分页大全(含JDBC分页 struts分页)

    在IT行业中,分页是一种非常常见的技术,尤其是在处理大量数据时,它能够有效地提高用户体验,减少服务器负担。这里我们将深入探讨“分页大全”,包括JDBC分页、Struts分页以及分页标签的使用。 首先,让我们了解...

    一个高效简洁的Struts分页方法

    本文将深入探讨一种高效且简洁的Struts分页方法,旨在提供一个更加优化的解决方案。 ### 开发环境 本案例采用的开发环境包括:JBuilderx集成开发环境、Weblogic8.1应用服务器、Oracle9i数据库以及Windows2003操作...

    struts+ajax分页程序

    Struts是一种基于MVC(Model-View-Controller)设计模式的Java Web框架,它帮助开发者构建结构清晰、可维护性高的应用程序。Ajax,全称Asynchronous JavaScript and XML,是一种用于创建动态网页的技术,允许页面在...

    Struts + DAO实现基本分页

    Struts是一种基于MVC(Model-View-Controller)设计模式的框架,用于构建企业级的Web应用程序,而DAO(Data Access Object)模式则是为了解耦业务逻辑层和数据访问层,使得数据库操作更加独立,易于维护和扩展。...

    struts做的一个简单的分页功能

    1. **分页基础概念**:分页是一种用户界面技术,用于将大量数据分成可管理的小块,每次只显示一部分,用户可以通过导航按钮浏览更多内容。这减轻了服务器压力,同时也提高了页面加载速度。 2. **Struts框架中的分页...

    Struts分页

    Struts分页是一种在Web应用中实现数据展示的高效方式,尤其当数据量较大时,分页能够提高用户体验,避免一次性加载过多数据导致页面响应慢。Struts是Apache的一个开源框架,它主要用于构建基于Java EE的Web应用。...

    jQuery+Struts+Ajax无刷新分页

    在Web应用开发中,为了提供更好的用户体验,无刷新分页已经成为一种常见的需求。本项目采用jQuery、Struts2和Ajax技术实现了这样一个功能,用户可以在不重新加载整个页面的情况下查看不同页的数据,提高了交互效率。...

    struts2分页实现

    Struts2分页实现是Web开发中常见的需求,它能够帮助用户更有效地浏览大量数据,提高用户体验。在本文中,我们将深入探讨如何在Struts2框架下实现分页功能。 首先,我们需要理解分页的基本原理。分页的核心是将大...

Global site tag (gtag.js) - Google Analytics