【注】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>
8,076 次阅读
看不懂@_@