- 浏览: 269891 次
- 性别:
- 来自: 江西
文章分类
最新评论
-
hiben:
[list][*][list][*][*][*][/list] ...
多数据源的配置和切换 -
bqmcjl:
大哥。我项目里边怎么没有AbstractRoutingData ...
多数据源的配置和切换 -
zhouchuang:
y
java中的分页处理 -
hm2008:
...
父母不会站在原地等你 (推荐) -
tamsiuloong:
简单是简单 效率相当低
最简单的java 克隆实现
ActionForm 基类 BaseForm的代码如下:
所有的要分页的Form都要求继承它。
Action 基类 BaseAction的代码如下:
这样就可以实现分页了。
请看我的页面效果如下:
/** * <pre> * Title: BaseForm.java * Project: taxs_Admin * Type: com.tenpay.taxs.form.BaseForm * Author: ben.liu * Create: Apr 8, 2008 3:03:01 PM * Copyright: Copyright (c) 2008 * Company: * <pre> */ package com.tenpay.taxs.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * <pre> * </pre> * @author ben.liu * @version 1.0, Apr 8, 2008 */ public class BaseForm extends ActionForm { /* * 当前页数 */ private int currentPage ; /* * 最大页数 */ private int maxPage; /* * 最大记录数 */ private int sumCount; /* * 跳到第几页 */ private int searchPage; /* * 页面走向 */ private String orientation; public String toString() { StringBuffer sb = new StringBuffer(""); sb.append("{maxPage=").append(maxPage).append(","); sb.append("sumCount=").append(sumCount).append(","); sb.append("searchPage=").append(searchPage).append(","); sb.append("currentPage=").append(currentPage).append(","); sb.append("orientation=").append(orientation).append("}"); return sb.toString(); } public int getCurrentPage() { return this.currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public int getMaxPage() { return this.maxPage; } public void setMaxPage(int maxPage) { this.maxPage = maxPage; } public int getSumCount() { return this.sumCount; } public void setSumCount(int sumCount) { this.sumCount = sumCount; } public int getSearchPage() { return this.searchPage; } public void setSearchPage(int searchPage) { this.searchPage = searchPage; } public String getOrientation() { return this.orientation; } public void setOrientation(String orientation) { this.orientation = orientation; } @Override public void reset(ActionMapping mapping, HttpServletRequest request) { this.currentPage=1; this.maxPage =0; this.orientation =""; this.sumCount=0; this.searchPage=0; } }
所有的要分页的Form都要求继承它。
Action 基类 BaseAction的代码如下:
/** * <pre> * Title: BaseAction.java * Project: AgentPortal * Type: com.tenpay.taxs.action.base.BaseAction * Author: liubenling * Create: 2007-6-6 下午05:59:07 * Copyright: Copyright (c) 2007 * Company: * <pre> */ package com.tenpay.taxs.action.base; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.tenpay.taxs.form.BaseForm; import com.tenpay.taxs.util.help.LogFactory; /** * <pre> * 基础Action类,所有Action类都应该继承自该类 * </pre> * * @author liubenling * @version 1.0, 2007-6-6 */ public abstract class BaseAction extends Action { private static final Logger logger = LogFactory.getLogger(BaseAction.class); private int pagesize; public int getPagesize() { return this.pagesize; } public void setPagesize(int pagesize) { this.pagesize = pagesize; } public abstract ActionForward doIt(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception; /* * (非 Javadoc) * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, * org.apache.struts.action.ActionForm, * javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) */ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { return doIt(mapping, form, request, response); } public String query(ActionForm form) { BaseForm realForm = (BaseForm) form; String orientation = realForm.getOrientation(); logger.debug("上页在" + realForm.getCurrentPage() + "页"); logger.debug("realForm.getSearchPage()=" + realForm.getSearchPage()); logger.debug("maxPage=" + realForm.getMaxPage()); int limit = 0; if (realForm.getSearchPage() > 0 && realForm.getSearchPage() <= realForm.getMaxPage()) { realForm.setCurrentPage(realForm.getSearchPage()); } if (realForm.getCurrentPage() <= 0) { realForm.setCurrentPage(1); } StringBuffer sqlSb = new StringBuffer(" limit "); // 返回的部分sql语句 // 有时候从开始查询的时候并没有带orientation等参数 // 这是第一页的情况 if ("first".equals(orientation)) { orientation = "first"; realForm.setOrientation("first"); realForm.setCurrentPage(1); } // 下面是下一页 else if ("next".equals(orientation)) { if (realForm.getCurrentPage() >= realForm.getMaxPage()) { realForm.setCurrentPage(realForm.getMaxPage()); realForm.setOrientation("end"); } else { realForm.setCurrentPage(realForm.getCurrentPage() + 1); realForm.setOrientation("next"); } } // 下面是上一页 else if ("last".equals(orientation)) { if (realForm.getCurrentPage() - 1 <= 1) { realForm.setCurrentPage(1); realForm.setOrientation("first"); } else { realForm.setCurrentPage(realForm.getCurrentPage() - 1); realForm.setOrientation("last"); } } else if ("end".equals(orientation)) { realForm.setCurrentPage(realForm.getMaxPage()); realForm.setOrientation("end"); } sqlSb.append((realForm.getCurrentPage() - 1) * this.pagesize).append(",").append(this.pagesize); logger.debug("分页sql:" + sqlSb.toString()); return sqlSb.toString(); } }
这样就可以实现分页了。
请看我的页面效果如下:
发表评论
-
spring quartz 任务调度
2011-07-07 15:29 1144最简单的配置如下:默认是一分钟执行一次 <bean i ... -
spring、hibernate等开源框架svn源码地址
2011-02-10 08:58 4080很多优秀的开源项目已经提供SVN源码签出,下面是各源码的svn ... -
eclipse启动错误:JVM terminated. Exit code=-1
2009-12-02 10:08 2230在eclipse.ini文件的开始增加下列vm的设置。下面是我 ... -
weblogic8.1的ejb服务问题
2009-09-27 10:11 1360在宁夏电信的开发中,发现在调用weblogic8.1的ejb服 ... -
3des的加解密过程
2009-09-03 22:10 2399请看代码,这是3Des最简单的加解密过程: /** * ... -
多数据源的配置和切换
2009-02-06 11:13 7809[color=green] 项目中用到过多数据源之间的切换,从 ... -
js checkbox 全选 全不选 代码
2008-12-17 14:32 2462/* *obj 当前对象(this) *cName 子选项名称 ... -
最简单的java 克隆实现
2008-09-25 17:23 5276先定义一个标准的javabean对象,并实现持久化接口 请看代 ... -
java 代理机制实现
2008-09-25 15:56 2331Proxy 模式 代理的主要类:java.lang.re ... -
js 级联下拉框的生成
2008-09-17 17:57 3864最近做页面时,碰到js级联下拉框显示的问题。先用下拉框选择大类 ... -
ant脚本(部署应用)
2008-09-04 18:27 2695最近在部署应用时,遇到一个问题,就是ant脚本登录到linux ... -
struts+spring+sitemesh下的中文乱码问题
2008-04-14 17:25 2770最近有个项目用struts+spring+sitemesh做的 ... -
spring jdbcTemplate 操作接口使用
2008-04-10 22:56 3448import java.sql.CallableState ... -
spring jdbcTemplate 实现批量更新操作接口使用
2008-04-10 22:52 16632批量更新操作使用如下代码: public int[] up ... -
java中的正则表达式
2007-10-29 11:00 2029如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一 ... -
spring AOP
2007-08-09 16:39 1639这是在网上发现的一篇关于Spring AOP编程的教程,读完这 ... -
Tomcat内存设置从windows服务启动不生效?
2007-08-09 16:24 8723... -
java中用URLConnection 类post方式提交表单
2007-07-02 09:43 29790/** * <pre> * Title: ... -
转贴hibernate2.1与hibernate3.0的区别
2007-03-09 16:03 4519尽管Hibernate 3.0 与Hibernate2.1的源 ... -
各种数据库的jdbc驱动下载及连接方式
2007-03-07 16:46 35180各种数据库驱动 ...
相关推荐
总的来说,Struts2的分页实现需要结合数据库操作、Action控制和前端展示三方面的工作。理解这个过程对于Java Web开发者来说是至关重要的,它可以帮助你更好地处理大数据量的展示,提供更加友好的用户界面。通过实践...
本资源通过Struts框架实现了分页功能,主要涉及到以下几个关键知识点: 1. **MVC设计模式**:MVC模式将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。模型负责处理业务逻辑,视图...
用Struts2+mysql实现的简单信息录入,分页查询
根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...
Struts2.0 是一个流行的Java Web开发框架,它提供了一种组织和控制MVC(Model-...同时,随着技术的发展,现代的Web应用可能更倾向于使用ORM框架(如Hibernate)和前端分页库(如jQuery DataTables)来简化分页实现。
在探讨Struts2框架下的增删改查以及分页查询功能时,我们首先需要理解Struts2框架本身。Struts2是Apache软件基金会的一个开源Web应用框架,它继承了Struts1的一些特性,并在此基础上进行了大量的改进和扩展,提供了...
通过自定义分页标签,Struts2开发者能够轻松实现定制化分页,并保持代码的整洁和可维护性。这种方式避免了在多个JSP页面中重复编写分页逻辑,提高了代码复用性,同时降低了出错的可能性。 总之,本资源提供的Struts...
这样的分页实现保证了数据的高效加载和用户的流畅体验,同时充分利用了Struts的控制层和Hibernate的数据访问层能力,降低了开发复杂度。在实际项目中,还可以考虑优化如缓存、懒加载等策略来进一步提高性能。
Struts2分页实现是Web开发中常见的需求,它能够帮助用户更有效地浏览大量数据,提高用户体验。在本文中,我们将深入探讨如何在Struts2框架下实现分页功能。 首先,我们需要理解分页的基本原理。分页的核心是将大...
二、Struts1.2分页实现步骤 1. **配置Action**:首先,我们需要创建一个处理分页请求的Action类,该类需要接收并处理用户请求的分页参数,如当前页数和每页大小。通常,这些参数会通过HTTP请求传递。 2. **数据...
下面我们将深入探讨如何在Struts框架下实现分页功能。 首先,我们需要理解分页的基本概念。分页是指将一个大数据集合分割成多个小部分,每次只显示一部分,用户可以通过翻页来查看其他部分。在Web应用中,这通常...
在分页实现中,我们主要利用 `<s:bean>` 创建 `org.apache.struts2.util.Counter` 类型的 bean 来控制循环范围。 #### 三、`<s:bean>` 标签的基本用法 `<s:bean>` 标签的基本语法如下: ```xml ... ``` - *...
本篇文章将详细讲解如何利用Struts2和JSP实现前端的分页功能。 分页是Web应用中常见的需求,尤其在处理大量数据时,能够帮助用户更高效地浏览和管理数据。Struts2通过Action类、结果类型配置以及拦截器等机制,可以...
下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...
在本文中,我们将深入探讨Struts2分页技术的实现原理、应用方法以及与Hibernate框架的结合。 首先,Struts2作为一款基于MVC模式的Java Web框架,它提供了丰富的拦截器(Interceptor)和动作(Action)机制,使得...
在"Struts + Hibernate 分页实现"这个项目中,重点在于如何在Web应用中整合这两个框架,并实现数据的分页显示。分页是大型数据集处理时常见的需求,它能够帮助用户更有效地浏览和管理大量信息,避免一次性加载所有...
本项目名为“jsp +struts 分页经典”,显然是一个利用这两种技术实现的分页展示数据的案例。下面我们将深入探讨JSP和Struts框架,以及它们在分页、查询和数据操作中的应用。 首先,JSP是Java平台上的动态网页技术,...
本文将详细介绍Struts2实现分页效果的第二种方法。 在Struts2中,实现分页通常涉及以下几个关键步骤: 1. **模型(Model)**:首先,我们需要一个实体类来存储待分页的数据,例如`User`。然后,创建一个`PageBean`类...
下面将详细介绍如何在Struts和Hibernate框架下实现动态分页。 首先,我们需要了解Struts和Hibernate的基本概念。Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,用于简化应用程序的开发,...
**Struts2.0 实现数据分页的原理** 在Struts2中,数据分页通常通过Action类和视图(JSP或Freemarker)配合完成。Action类负责从数据库中获取指定页码的数据,并将这些数据传递给视图进行展示。分页参数,如当前页数...