首先要感谢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.谢谢!!!
分享到:
- 2009-07-16 21:50
- 浏览 2493
- 评论(1)
- 论坛回复 / 浏览 (0 / 2016)
- 查看更多
相关推荐
displaytag 一个后台管理的分页组件,非常好用,代码量少
DisplayTag是个很好的jsp标签,目前最新版本为1.2,支持了自定义分页,解决了之前版本每次查询都把全部数据查出的低效率做法。但是DisplayTag默认是通过url传参,以及分页导航不灵活给人们带来了不少麻烦。鉴于此...
第二种解决方案,一张表的增删查改都在一个serlvet中通过带参数进行流程处理,比如:empservlet?action=add empservlet?action=update empservlet?action=del 那么:显示所有的直接是empservlet 判断是通过去...
Displaytag实现分页
DisplayTag分页及属性
displaytag.rar java数据分页驱动 java 数据分页 驱动
包含了jar包和技术指导文档,按照文档的指导,可以方便的实现分页,并且点击标题就可以进行排序,是目前应用较为广泛的一种分页方法!
DisplayTag是个很好的jsp标签,目前最新版本为1.2,支持了自定义分页,解决了之前版本每次查询都把全部数据查出的低效率做法。但是DisplayTag默认是通过url传参,以及分页导航不灵活给人们带来了不少麻烦。鉴于此...
displaytag-1.1.1-execle@cvs导出中文乱码问题解决.jar
NULL 博文链接:https://wooden-baby.iteye.com/blog/494060
displaytag的使用方法(用于数据表格的显示和功能控制)Displaytag1.1版本使用方法
这是做分页用的一个jar包,希望对大家有所帮助
displaytag分页模版资料非常详细 displaytag分页模版资料非常详细 displaytag分页模版资料非常详细
displaytag,pager-taglib 分页包 和源文件
display tag 分页例子的源代码。 博文链接:https://zhou568xiao.iteye.com/blog/192366
该文档里面详细说明在我们使用displaytag标签的时候,在表格的页脚显示一个当前界面显示多少条的动态改变(这个是和[第1-10项 共19项] [首页/上页]1, 2[下页/尾页] [显示条数]显示在一行的),table会根据当前选择的数据...
displaytag 表格 标签 displaytag-1.1.1标签库及其使用方法
Struts2整合DisplayTag 实现分页技术
displaytag1.1显示排序分页导出自动标签