如何使用显示表标记对具有空值的日期进行排序

时间:2013-02-04 08:28:50

标签: struts2 displaytag

我有一个日期列表,其中一些可能包含空值。现在我想使用display table标签显示它并使其可以排序,并且日期显示为null我会将其更改为字符串“NA” 。我该怎么做? 这是我的专栏(我正在使用struts 2)

<display:column property="firstLoginTime" title="First timelogged onto site" sortable="true"/>

2 个答案:

答案 0 :(得分:0)

抱歉,我早些时候在iphone上消磨时间了。

NB。这只是基于查看displaytag文档,但您是否尝试过编写自定义比较器?

public class CustomDateComparator implements Comparator<Date> {
    public int compare(Date date1, Date date2) {
        if (date1 == null) {
            return -1;
        }

        if (date2 == null) {
            return 1;
        }

        return date1.compareTo(date2);
    }
}

在你的jsp中,displaytag允许你指定一个像这样的比较器 -

<display:column 
   property="firstLoginTime" 
   title="First timelogged onto site"
   sortable="true"
   comparator="your.project.CustomDateComparator"
/>

答案 1 :(得分:0)

添加属性,即firstLoginTimeHtml,以通过getter方法显示格式化日期。然后在原始日期添加sortProperty <display:column sortProperty="firstLoginTime" title="First timelogged onto site" sortable="true">
<c:out value="${row.firstLoginTimeHtml}"/>
</display:column>