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>