`
冇心人
  • 浏览: 54546 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于displaytag external paging 第二种分页方法导出所有数据的问题

阅读更多
首先要感谢zuiyanwangyue提供给我的解决方法!!!
我是采用了displaytag提供的第二种分页方法

// 页数的参数名
String pageIndexName = new ParamEncoder(Constants.ABSENCE_LIST)
.encodeParameterName(TableTagParameters.PARAMETER_PAGE);
// 每页显示的条数
int pageSize = 15;
// 当前页
int pageIndex = GenericValidator.isBlankOrNull(request.getParameter(pageIndexName)) ? 0 : (Integer.parseInt(request.getParameter(pageIndexName)) - 1);

// 统计总记录数
int resultSize = (Integer) absMgr.getPypDepartmentAbsByTimesCount(condition[0], condition[1], condition[2]).get(0);
//获取导出的状态如果不为空.说明点击了导出按钮
String exportValue = request.getParameter(TableTagParameters.PARAMETER_EXPORTING);
if (exportValue == null || exportValue.equals("")) {
// 取得当前分页数据
studentAbsList = absMgr.getPypDepartmentAbsByTimesSql(pageIndex, pageSize, condition[0], condition[1], condition[2]);
}else {
//获取所有数据
studentAbsList = absMgr.fastGetDepAbs(condition);
}

//缺勤信息
request.setAttribute(Constants.ABSENCE_LIST, studentAbsList);


我觉得你说的问题可能和Displaytag的设计初衷有关,如果是一个特殊的列表,亦即table标签中的partialList="true",那么Table标签的处理类在进行初始化参数时(见TableTag的initParameters()方法),会做出相应的处理使得在页面上看到的数据和导出的数据条数是一样的,它并没有区别对待不同的媒体类型。

见TableTag的1065以及1066两行:
PaginationHelper paginationHelper = new PaginationHelper(pageNumber, pagesize);
this.tableIterator = paginationHelper.getIterator(this.list);

如果想要Displaytag适合你的要求恐怕就要修改Displaytag的源代码了,增加以下判断:
//检查当前的媒体类型
            if(MediaTypeEnum.HTML.equals(this.currentMediaType)){
            PaginationHelper paginationHelper = new PaginationHelper(pageNumber, pagesize);
                this.tableIterator = paginationHelper.getIterator(this.list);
            }else {
            this.tableIterator = IteratorUtils.getIterator(this.list);
            }
即如果是在页面上显示则进行分页,否则的话就遍历整个列表。
这样就应该满足你的要求了。

帮我解决此问题的人是zuiyanwangyue
一下是他的博客地址

http://zuiyanwangyue.iteye.com/

真的非常感谢他.因为本人还是学生...代码量不多.看了源代码3天了,还是一点头绪都没有.
今天收到zuiyanwangyue发来的消息.尝试改了一下源代码.结果行了.在这里再一次感谢zuiyanwangyue.谢谢!!!
分享到:
评论
1 楼 bosschen 2014-02-25  
String exportValue = request.getParameter(TableTagParameters.PARAMETER_EXPORTING); 这个太好了,是我想找的。

相关推荐

    displaytag 一个后台管理的分页组件

    5. **导出功能**:DisplayTag 可以将表格数据导出为多种格式,如CSV、Excel、PDF等,方便数据的进一步处理或打印。 6. **样式可配置**:通过CSS样式表,开发者可以完全控制表格的外观,包括边框、颜色、字体等。 7...

    displaytag-1.2-bin&displaytag-1.2-src Java分页组件/插件

    DisplayTag不仅支持基本的分页,还提供了诸如国际化、导出数据、自定义样式等功能,使得在处理大量数据展示时更加得心应手。 "displaytag-1.2-src"则是DisplayTag 1.2版本的源代码包,对于想要深入了解其工作原理...

    displaytag,pager-taglib 分页包

    Displaytag和Pager-taglib是两个在Java Web开发中常用的分页库,主要用于处理大量数据的显示,提升用户体验,减轻服务器压力。这两个库都是基于JSP标签库(Tag Library)实现的,可以方便地集成到Spring、Struts等...

    DisplayTag1.2 扩展(自定义分页、排序、导出、页面导航)

    DisplayTag是个很好的jsp标签,目前最新版本为1.2,支持了自定义分页,解决了之前版本每次查询都把全部数据查出的低效率做法。但是DisplayTag默认是通过url传参,以及分页导航不灵活给人们带来了不少麻烦。鉴于此...

    Displaytag实现分页

    2. **使用 Displaytag 分页** - 在 JSP 页面中,需要引入 Displaytag 的标签库,通过 `<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>` 指令。 - 然后,使用 `<display:table>` 标签来展示数据。...

    displayTag分页插件及配置文档

    第二种解决方案,一张表的增删查改都在一个serlvet中通过带参数进行流程处理,比如:empservlet?action=add empservlet?action=update empservlet?action=del 那么:显示所有的直接是empservlet 判断是通过去...

    displaytag.rar java数据分页驱动

    在Java Web应用中,数据分页是一种常见的需求,特别是在处理大量数据时,为了提高页面加载速度和用户体验,通常会将数据分批次显示。DisplayTag库通过集成在JSP页面中,可以轻松实现这一功能,无需编写大量的Java...

    分页用displaytag-portlet-1.1jar包

    DisplayTag Portlet 1.1 是一个用于网页开发的开源分页库,它极大地简化了在Java Web应用程序中实现高效且美观的分页功能。这个jar包是DisplayTag项目的一个特定版本,专为portlet环境设计,portlet是Java Portal...

    displaytag下拉框动态分页

    DisplayTag 是一个流行的 Java Web 应用程序标签库,它提供了一种简单的方式来处理表格数据的分页显示。本文将详细介绍如何使用 DisplayTag 实现下拉框动态分页功能,使得用户能够通过选择不同的选项来自定义每页...

    DisplayTag1.2 扩展(自定义分页、排序、导出、页面导航)(旧)

    DisplayTag是个很好的jsp标签,目前最新版本为1.2,支持了自定义分页,解决了之前版本每次查询都把全部数据查出的低效率做法。但是DisplayTag默认是通过url传参,以及分页导航不灵活给人们带来了不少麻烦。鉴于此...

    displaytag的使用方法

    Displaytag 是一个开源的 JSP 标签库,专门用于创建数据表格,提供了一组易于使用的标签,可以实现复杂的表格功能,如分页、排序、导出等。在本文中,我们将详细讨论 Displaytag 1.1 版本的使用方法。 **一、...

    Struts2 DisplayTag 分页

    总的来说,Struts2和DisplayTag的结合使得开发人员能够快速构建功能丰富的Web应用,尤其是在处理大量数据展示和分页时,DisplayTag的易用性和灵活性得到了充分体现。通过不断实践和优化,你可以创建出更加高效、用户...

    分页组件displaytag使用笔记

    DisplayTag是一个用于创建表格、分页和导出数据的JSP标签库。它通过简化HTML表格的复杂性,提供了诸如排序、分页、格式化和国际化等特性,极大地提高了开发效率。 2. **安装与引入** 要使用DisplayTag,首先需要...

    DisplayTag分页

    以下是关于DisplayTag分页的一些关键知识点: 1. **配置与引入**:首先,你需要在项目中引入DisplayTag库,这通常通过Maven或Gradle的依赖管理来完成。接着,在JSP页面中引入DisplayTag的标签库,这样你就可以使用...

    displaytag及使用方法

    DisplayTag支持分页、排序、导出、国际化和自定义样式,是开发人员处理表格展示时的一个强大工具。 DisplayTag的工作原理基于JSP标签库,它可以与任何Java持久层框架(如Hibernate、JPA)或数据访问技术(如JDBC)...

    displaytag-1.1.1-execle@cvs导出中文乱码问题解决.jar

    displaytag-1.1.1-execle@cvs导出中文乱码问题解决.jar

    displaytag 分页模版资料 JSP

    DisplayTag是一款功能强大的开源JSP标签库,专为表格展示和分页设计,极大地简化了在Web应用中处理复杂表格和实现分页的功能。在Java Web开发中,DisplayTag能够帮助开发者快速创建出美观且易用的数据展示页面,提高...

    JSP Struts2 分页 导出Excel

    在Struts2中,可以使用第三方插件如DisplayTag或自己编写Action来实现分页。通常,我们需要在Action中获取数据库查询的结果集,并计算总记录数,然后根据每页显示的条数进行分页。JSP页面上通过参数传递当前页码,...

    displaytag详细用法(中文问题已解决)

    1. **基本功能**:DisplayTag支持分页、排序、导出数据、自定义样式等多种功能,极大地简化了网页表格的开发工作。通过简单的标签和属性设置,开发者可以轻松创建复杂表格。 2. **标签库**:DisplayTag基于JSTL标签...

Global site tag (gtag.js) - Google Analytics