我有一个填充 JSF DataTable 的 Java bean 集合,我正在尝试实现列排序。
我想根据所选字段对数组/集合进行排序。我过去为此使用过反射,但想找到一种更简洁的方法,使用 Commons BeanUtils 和/或 Collections,但似乎找不到任何示例。
谢谢 Scottyab
我有一个填充 JSF DataTable 的 Java bean 集合,我正在尝试实现列排序。
我想根据所选字段对数组/集合进行排序。我过去为此使用过反射,但想找到一种更简洁的方法,使用 Commons BeanUtils 和/或 Collections,但似乎找不到任何示例。
谢谢 Scottyab
实际上,在玩了一会儿之后,这就是我想出的,它似乎有效
String sortColumn = (String)getRequestParam("sort_id");
List<Quote> quotes = (List<Quote>)getSessionScope().get(SESS_SEARCH_RESULTS);
Comparator fieldCompare = new org.apache.commons.beanutils.BeanComparator( sortColumn );
Collections.sort(quotes, fieldCompare );
现在只需要查看排序顺序:)
与您的具体问题没有直接关系,但请查看GlazedLists——它使为 GUI 实现这些东西变得非常容易。