【注】WW 问我J2EE怎么做服务器端排序,于是上次帮她写了点介绍,放在这里做个存档。
数据结构:
表格(Table)可以是数据库表,也可以是内存中的一个数据结构。例如:
class UserObject {String columnA;int columnB;char columnC;}
IndexcolumnA columnB columnC ------------------------------------------- 1 'abc' 1 'a' 2 'efg' 2 'e' 3 'hij' 3 'h'
服务器端:
按客户端点击的字段排序,如果按上述数据结构,如果按 ColumnA 排序方法为,创建比较两个对象的 columnA 属性的方法
class UserComparator implements java.util.Comparator {
int compare(Object o1, Object o2) {
UserObject uo1 = (UserObject) o1;
UserObject uo2 = (UserObject) o2;
if (哪个前头?)
return 1;
else if
return -1;
else
return 0;
}
}
然后使用 Collections 的方法对 List 进行排序:
客户端步骤:
<table>
<!-- 表头 -->
<tr>
<th>
<a href="#" onclick="sendSortRequest('columnA');">columnA</a>
</th>
<th>
<a href="#"
onclick="sendSortRequest('columnB');">columnB</a>
</th>
<th>
<a href="#"
onclick="sendSortRequest('columnC');">columnC</a>
</th>
</tr>
<!-- 数据 -->
<tr>
<td>abc</td>
<td>1</td>
<td>a</td>
</tr>
</table>
9,341 次阅读
看不懂@_@