Java 显示标签排序问题

Java 显示标签排序问题,java,displaytag,Java,Displaytag,我正在使用displaytag显示列表和排序。但是排序有问题。 我有一个属性orderdate格式的日期是2012年1月31日星期四13:10。因此,如果我对这个列进行排序,那么它会按天对日期进行分组。因此,我创建了另一个属性sortOrderDate格式为2012 01 31 13:10,并在sortProperty中使用它,如下所示 <display:column title="Order Date" property="orderDate"

我正在使用
displaytag
显示列表和排序。但是排序有问题。 我有一个属性orderdate格式的日期是2012年1月31日星期四13:10。因此,如果我对这个列进行排序,那么它会按天对日期进行分组。因此,我创建了另一个属性
sortOrderDate
格式为
2012 01 31 13:10
,并在
sortProperty
中使用它,如下所示

<display:column title="Order Date" property="orderDate" 
                    sortProperty="sortOrderDate"></display:column>
<display:column property="sortOrderDate" 
         class="hidden" headerClass="hidden" sortable="true"></display:column>

我在这里真正想要做的是在UI上显示
orderdate
,并在
sortOrderDate
上对其进行排序。
有什么建议吗

首先,如果数据是日期,则不应将其存储为字符串,而应存储为日期。日期实例自然会按时间顺序排序,而不是按字典顺序排序

因此,您应该有一个日期类型的
orderDate
属性。要在列中显示它,并按时间顺序排序,代码应该是(假设您使用的是JSTL,并且显示表的ID是
order
):


向我们显示您的代码,并告诉我们日期属性的类型。我无法进行第一次更改,因为我需要修改数据库列,这将创建太多的代码更改。第二个解决方案不起作用。第一个解决方案对我有效。我认为您的数据必须正确格式化才能正常工作。
<display:column title="Order Date" sortProperty="orderDate">
    <fmt:formatDate value="order.orderDate"/>
</display:column>
<display:column title="Order Date" sortProperty="sortOrderDate">
    ${order.orderDate}
</display:column>