当前位置: 首页 > 知识库问答 >
问题:

如何得到排序从可分页到Thymeleaf链接属性?

毋城
2023-03-14

我想在我的文档中添加分页链接。

<a class="item"
    th:href="@{/works(
        page=${pageNum},
        size=${page.pageable.getPageSize()},
        sort=${page.pageable.sort})}"
    th:text="${pageNum}"
    th:classappend="${page.pageable.getPageNumber() eq pageNum} ? active"></a>

Page是保存内容和可分页对象的Page对象

问题是sort=${page.pageable.sort}。它创建“sort=title:asc”。但我需要“sort=title,asc”的格式,如Spring数据文档本章所述。我假设有比自己构建所需字符串更好的方法。我认为这是一个普遍的问题。

创建可用的排序参数字符串的最佳方法是什么?

我不需要像这里所示的静态行为

  • Spring5
  • 百里香3

共有1个答案

杜联
2023-03-14

假设您的控制器中有可分页,那么您可以通过调用getSort()方法来访问排序。知道sort可迭代的 ,您应该能够迭代order实例-每个实例包含一对(属性、方向)-并构建任意的sort字符串。下面是一个使用Java8流和lambda的示例,当然,这是必须的:

String sort = page.getSort().stream()
    .map(order -> order.getProperty() + ":" + order.getDirection())
    .collect(Collectors.joining(","));
model.addAttribute("sort", sort);

此示例使用“:”联接属性和方向,然后使用“、”联接所有订单。根据您的评论,您希望使用“、”而不是“:”,但这可能会导致您在解析顺序列表时遇到其他问题。

您可能希望查看SortHandlerMethodArgumentResolver的工作方式,特别是它的ParsepRameterIntoSort方法,以了解相应的解析逻辑是如何工作的。

 类似资料:
  • 问题内容: 您如何链接(与),以便浏览器转到目标页面上与顶部相对的某些子标题? 问题答案: 如果有标签或任何带有(例如>)的标签,则只需将其附加到URL。否则,您将无法任意链接到页面的某些部分。 这是一个完整的示例: 在同一页面上链接内容的示例:

  • 我想知道如何链接到同一liferay网站中的另一个页面。 显然,我可以在我的portlet视图中硬编码url,但是我担心必须更新所有的portlet,以防友好的url在未来发生变化。 我知道我试图链接到的页面的名称,但是如果页面名称也改变了呢? 我发现了无数具有返回友好URL的方法的类,例如,,甚至,但它们都需要我不确定如何获取的参数。 是否有一个标准的方式获得友好的网址?

  • 我正在构建一个API,它将调用另一个API并返回结果。我正在调用的API有一个分页和排序机制,需要将以下查询参数添加到URL中: 因此,为了将接收到的可分页对象映射到需要传递给UinderLinging API的查询参数,我需要从可分页对象中检索分页和排序信息。对于和,它非常简单: 但如何检索sortField和SortDirection? 返回排序对象,我无法从中检索所需内容-sortField

  • 我有一个spring boot项目,我使用spring JPA。我有一个模型,它有一个列,它的数据库列名是。我调用<code>findAll(谓词谓词,Pageable-Pageable) 当我在ReceiptService中使用创建谓词并使用传递它时,它完全正常工作,但当我添加排序时,它会抛出以下异常:

  • 我有一张叫‘宽床单’的桌子。这是一个班级学生所有学科总分的汇总之处。 通过此查询获得了每个主题的总数 并用此显示 而总体总数显示为 一切都很顺利,直到我不得不对表格进行排序,从总分最高到最低。表现在应该如下所示: 我真的被困住了。我从这里怎么走? 好吧,按照@titi的建议,我做了一个group_by查询,得出了这样的结果: 如果这是正确的,我如何显示它?

  • 我目前有一个排序的链表,使用void返回方法,我需要从该表递归构造一个平衡的二叉搜索树(称为第二个参数)。作为参数,我只能有LL头、正在创建的根和列表的长度。 该方法不能破坏LL,并且为了在之后测试树,我有一个printTree和一个treedepth: