【问题标题】:Sort direction in url Spring Pageableurl Spring Pageable中的排序方向
【发布时间】:2020-08-22 21:07:34
【问题描述】:

我有一个具有以下方法的控制器。我可以在我的表单中添加一个属性“排序”,它会自动使用该属性进行排序。现在我正在尝试为其添加排序方向,但似乎找不到要添加到表单的正确请求参数。

public String overview(Criteria criteria, @PageableDefault(sort = "name") Pageable page, Model model)

这是我的表格:

<form action="">
<div>
    <label for="sort">Sort by</label>

    <select name="sort" id="sort">
        <option value="name" selected>Name</option>
        <option value="description">Description</option>
    </select>
</div>
<div>
    <label for="ascending">
        <input name="order" id="ascending" type="radio" value="ASC" />
        <div>Ascending</div>
    </label>
    <label for="descending">
        <input name="order" id="descending" type="radio" value="DESC" />
        <div>Descending</div>
    </label>
</div>
<div>
    <button type="submit">Search</button>
</div>
</form>

网址如下所示:

/overview?sort=name&order=DESC

我尝试了除 order 之外的其他参数名称,但似乎没有任何效果。

【问题讨论】:

  • 你可以尝试使用 name="sort" 到 sort_varsort_param 吗?
  • 排序有效,方向无效

标签: spring-mvc pagination spring-data thymeleaf


【解决方案1】:

像这样扩展你的控制器方法:

public String overview(Criteria criteria, @PageableDefault(sort = "name", final @RequestParam(value = "order", defaultValue = "ASC") String order, Pageable page, Model model) {
    // process the order argument here
}

现在您可以处理参数“order”了。

【讨论】:

    猜你喜欢
    • 2019-05-08
    • 1970-01-01
    • 2019-02-08
    • 2019-05-28
    • 2021-09-26
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多