Spring Data web分页"page"参数不起作用

Wil*_*ler 6 java spring pagination spring-mvc spring-data

我正试图让Spring Data的网页分页工作.它在这里描述:

http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/repositories.html#web-pagination

这是我的Java(Spring Web MVC @Controller处理程序方法):

@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(
    @PageableDefaults(value = 50, pageNumber = 0) Pageable pageable,
    Model model) {

    log.debug("Params: pageNumber={}, pageSize={}",
        pageable.getPageNumber(), pageable.getPageSize());

    ...
}
Run Code Online (Sandbox Code Playgroud)

这是我的Spring配置:

<mvc:annotation-driven>
    <mvc:argument-resolvers>
        <bean class="org.springframework.data.web.PageableArgumentResolver" />
    </mvc:argument-resolvers>
</mvc:annotation-driven>
Run Code Online (Sandbox Code Playgroud)

(看起来上面的配置是现在这样做的方法;链接中描述的配置方法已被弃用.)

当我实际尝试使用pagepage.size参数控制分页时,后者工作得很好,但前者没有.例如,如果我点击

http://localhost:8080/myapp/list?page=14&page.size=42
Run Code Online (Sandbox Code Playgroud)

日志输出是

Params: pageNumber=0, pageSize=42
Run Code Online (Sandbox Code Playgroud)

所以我知道论证解析器正在进行,但不确定为什么它不能解析页码.我已经尝试了一堆其他的参数名称(例如page.number,pageNumber,page.num等)并且它们都不起作用.

这对其他人有用吗?

Bij*_*men 7

页面参数实际上有点不直观 - page.page而不是page,改变为page.page应该让事情发挥作用.

  • Spring 3 <使用`page`,`size`,`sort` (6认同)