【问题标题】:sorting using the Spring pagedListHolder使用 Spring pagedListHolder 进行排序
【发布时间】:2015-08-22 05:06:05
【问题描述】:

我已经使用 Spring PagedListHolder bean 在 MVC 页面上实现了分页。对于页面大小和分页来说一切都很好,但我正在努力解决这个问题。我猜我完全忽略了这一点,因为我的代码根本没有任何区别,而且我一直在努力找到很多我真正理解的文档。代码的简单版本如下。它没有失败,但它什么也没做(我打算让它工作,然后开始修改它以使用多个字段)。

本质上,BookBean 有许多字段 - Id、Title、Author、YearPublished 等。

 //Load getBooks() into a list as it returns a Set
 List <BookBean> booklist = new ArrayList <BookBean>(getBooks());

 PagedListHolder <BookBean> pagedListHolder = new PagedListHolder<BookBean> (booklist);

 MutableSortDefinition x = new MutableSortDefinition ("title", true, true);
 pagedListHolder.setSort(x);

我假设 PagedListHolder bean 会为我实现排序,但它什么也没做。我无法弄清楚这是因为我没有正确定义和实现排序定义,还是因为我对它的期望过高。 BookBean 对象中没有 Comparator 实现。我想如果我想自己进行排序而不打扰 PagedListHolder 排序,我想这就是我需要做的。

谁能告诉我是否有一种方法可以在不实现 Comparator 接口的情况下在 PagedListHolder 中进行排序,或者这就是上述代码不按标题排序的原因?

非常感谢。

【问题讨论】:

  • 看来这应该可行。只要“title”确实是 BookBean 类的属性。您是否尝试过实现 SortDefinition 而不是使用 MutableSortableDefinition?
  • 您可能还需要在 PagedListHolder 对象上实际调用“doSort()”
  • 非常感谢。第二条评论让我又看了一遍。我在文档中看到了 doSort() ,但它在实现中是隐藏的,所以我认为没有必要。我猜有一个初始的默认排序,即使它是 null 并且需要的是resort()。谢谢。

标签: java sorting spring-mvc pagination


【解决方案1】:

我认为 doSort() 可能已被弃用(?),但方法 reSort() 操作排序。非常感谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 2019-06-17
    • 1970-01-01
    • 2018-11-15
    • 2019-10-24
    • 2018-01-03
    • 2020-09-03
    相关资源
    最近更新 更多