如何添加到列表的链接以使用 spring-jpa 进行排序?

Posted

技术标签:

【中文标题】如何添加到列表的链接以使用 spring-jpa 进行排序?【英文标题】:How to add link to column table to sort using spring-jpa? 【发布时间】:2017-05-29 21:36:15 【问题描述】:

我正在使用此存储库中的代码在 Springboot 中实现我的表 + 分页器,并且在进行一些小的修改后效果很好。

https://github.com/mtiger2k/pageableSpringBootDataJPA

我还需要一件事。为每一列添加一个链接以对其进行排序。

我找到了一个建议:

<td th:href="@/product(sort=($page?.sort?.getOrderFor('id')?.ascending ? 'id,desc' : 'id,asc'))" th:text="$product.id">Id</td>

所以我知道使用以下信息: org.springframework.data.domain.Page;,我有所有信息,但我无法更改它,所以它适用于我的情况。

有什么想法吗?

谢谢

【问题讨论】:

【参考方案1】:

您可以接受排序属性作为参数:

/products?page=1&size=50&sortBy=name&sortDirection=ASC

在控制器中应该如下:

@RequestMapping(value = "/products", method = RequestMethod.GET)
public String list(Model model,@RequestParam int page,@RequestParam int size, @RequestParam String sortBy,@RequestParam Sort.Direction sortDirection)
       Pageable page = new PageRequest(page, size, sortDirection, sortBy);
      Page<Product> productPage = productService.findAll(page);
      //code

希望您的要求是启用用户按产品中的不同字段排序,sortBy 将保存您需要排序的类Product 中的字段名称。

【讨论】:

以上是关于如何添加到列表的链接以使用 spring-jpa 进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

spring-jpa通过自定义sql执行修改碰到的问题

SwiftUI 如何创建一个将项目添加到包含导航链接的列表的按钮

如何在ListView末尾添加“更多”按钮以加载更多项目?

spring-jpa:PropertyReferenceException:没有找到类型 [PerfectionTask] 的属性 [保存]

如果链接包含特定文本,则jQuery将类添加到href

itoo集成jpa