问题:model中定义的数值都为String类型,用displaytag进行排序时,默认是按字符串比较的,造成排序不准确。
解决办法:
1、自定义一个Comparator类,实现自定义比较规则
2、在页面需要的列中配置
<display:column title="" comparator="自定义的Comparator类名">
package workshop.noptimPlat.common;
import java.util.Comparator;
import org.displaytag.model.Cell;
/**
* 当用displaytag对String类型的数值进行排序时,默认是按字符串形式排序的,造成不准确。
* 此类自定义一个Comparator类,实现自己的比较规则
* */
public class StrTransIntComparator implements Comparator {
@Override
public int compare(Object obj1, Object obj2) {
String o1=null;
String o2=null;
if(obj1 instanceof Cell){
o1=((String)((Cell)obj1).getStaticValue()).trim();
}
if(obj2 instanceof Cell){
o2=((String)((Cell)obj2).getStaticValue()).trim();
}
double val1=Double.valueOf(o1);
double val2=Double.valueOf(o2);
if (val1 < val2){
return 1;
}
if (val1 > val2){
return -1;
}
return 0;
}
}
JSP页面:
<display:column title="" sortable="true" comparator="workshop.noptimPlat.common.StrTransIntComparator">
<c:out value="${item}" escapeXml="false"/>
</display:column>
分享到:
相关推荐
然而,在处理中文排序时,DisplayTag可能会遇到问题,因为默认的排序算法可能不支持汉字的正确排序。这个问题通常涉及到字符编码和Unicode排序规则。 解决DisplayTag中文排序问题的关键在于理解Java的字符串比较...
Displaytag 是一个开源的 JSP 标签库,专门用于创建数据表格,提供了一组易于使用的标签,可以实现复杂的表格功能,如分页、排序、导出等。在本文中,我们将详细讨论 Displaytag 1.1 版本的使用方法。 **一、...
以下是一些常见的DisplayTag使用方法: 1. **显示表格**: 使用`<display:table>`标签来创建表格,通过`name`属性指定数据源(通常是一个List或者一个JavaBean集合),例如: ```jsp ``` `export`属性设置为...
1. **基本功能**:DisplayTag支持分页、排序、导出数据、自定义样式等多种功能,极大地简化了网页表格的开发工作。通过简单的标签和属性设置,开发者可以轻松创建复杂表格。 2. **标签库**:DisplayTag基于JSTL标签...
DisplayTag是个很好的jsp标签,目前最新版本为1.2,支持了自定义分页,解决了之前版本每次查询都把全部数据查出的低效率做法。但是DisplayTag默认是通过url传参,以及分页导航不灵活给人们带来了不少麻烦。鉴于此...
在1.1版本中,它主要解决了在处理大数据分页时的问题,这使得它成为处理大量数据的理想选择,尤其是在Web应用程序中。这个源码包包含了一系列的文件,帮助我们理解和使用Displaytag的功能。 1. `LICENSE.txt`: 这个...
DisplayTag是一个功能丰富的开源Java Web组件库,它提供了一种强大的方式来展示表格数据,包括排序、分页和格式化。 在描述中虽然没有具体的信息,但我们可以通过`displayTagJavaScript.html`这个文件名推测,这篇...
这一步骤确保了DisplayTag可以正确解析和处理页面中的标签。 DisplayTag 的主要标签包括 `<display:table>`,它是整个表格的核心。通过这个标签,你可以指定数据源(如:一个Java集合),以及设置表格的属性,如列...
DisplayTag库提供了强大的表格渲染功能,不仅可以处理数据的分页,还支持排序、过滤、国际化以及自定义样式等特性。它的核心设计理念是将数据展示逻辑与视图层分离,这符合MVC(Model-View-Controller)架构的原则,...
DisplayTag 的强大之处在于它提供了一套完整的解决方案,包括对表格数据的排序、过滤、分页以及导出等功能。开发者可以根据需要自定义样式和行为,以满足各种复杂的表格展示需求。例如,可以设置列的排序方式、宽度...
5. **数据格式化**:能够根据需要对表格中的数据显示进行格式化,例如日期、货币等类型的数据显示。 6. **导出功能**:DisplayTag支持将表格数据导出为CSV、Excel、PDF等多种格式,方便数据处理和分析。 7. **扩展...
DisplayTag 是一款强大的开源表格展示标签库,专为MVC架构设计,适用于Java Web应用程序。它提供了丰富的功能,包括排序、分页、国际化等,极大地简化了网页表格的开发。下面我们将详细探讨DisplayTag的使用方法。 ...
DisplayTag的学习方法DisplayTag的学习方法DisplayTag的学习方法DisplayTag的学习方法DisplayTag的学习方法
DisplayTag是一个功能强大的Java开源分页和表格展示组件,它为Web开发提供了高效、灵活的解决方案。这个组件在Java社区中被广泛应用,因为其能够帮助开发者轻松实现数据的分页和排序,极大地提高了开发效率。 标题...
### DisplayTag标签库详解与应用 #### 显示与管理数据的新维度:...DisplayTag通过其简洁而强大的功能,为Web开发中的数据展示提供了全新的解决方案,不仅简化了代码编写,也极大提升了数据展示的效率和用户体验。
### DisplayTag 使用指南详解 #### 一、简介 DisplayTag 是一个开源的 Java Web 标签库,主要用于处理数据表格的展示与交互。它能够帮助开发者轻松地将 JavaBean 集合转换成 HTML 表格,并且支持排序、分页等功能...
- **排序**:DisplayTag 支持列点击进行数据排序,只需在`<display:column>`标签中添加`sortable="true"`属性。 - **分页**:默认开启,通过`export`属性控制是否导出数据,`pagesize`属性设置每页显示的行数。 -...
### DisplayTag插件的使用方法详解 #### 一、引言 在Web开发过程中,特别是使用Java技术栈进行开发时,经常会遇到需要展示大量数据的情况,例如用户列表、订单列表等。为了更方便地实现这样的功能,开发者通常会...
DisplayTag是一个开源的Java Web开发库,专门用于创建表格和复杂的数据展示。...通过对源码的阅读,开发者可以深入理解DisplayTag的工作机制,从而更好地利用它进行Web开发,解决实际问题,提高开发效率。