1. 程式人生 > >springboot中設定pageSize的預設值

springboot中設定pageSize的預設值

springboot中設定pageSize的預設值

方式一、使用@PageableDefault註解

可以在形參上使用@PageableDefault註解指定預設的page和size

@GetMapping(value="/list")
public String list(@PageableDefault(page=0, size=15)Pageable pageable) {

    return "list";
}

但是這種方式比較麻煩,需要在很多controller上都加上@PageableDefault(page=0, size=15)

方式二、統一處理

通過WebMvcConfigurerAdapte設定預設的size

1.appliation.properties配置檔案中加入以下配置
# 設定pageable中的pagesize的預設值
pageable.page.size=15
2.在WebMvcConfigurerAdapter類中重寫addArgumentResolvers()方法
package com.blog.personalblog.config;

import org.springframework.beans.factory.annotation.Value;
import
org.springframework.context.annotation.Configuration; import org.springframework.data.domain.PageRequest; import org.springframework.data.web.PageableHandlerMethodArgumentResolver; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.config.
annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import java.util.List; @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Value("${pageable.page.size}") private Integer pageSize; /** * 設定分頁時預設的每一頁資料量 * @param argumentResolvers */ @Override public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) { PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver(); resolver.setFallbackPageable(new PageRequest(0, pageSize)); argumentResolvers.add(resolver); super.addArgumentResolvers(argumentResolvers); } }

這樣,pageSize的值預設就是15了

3.對應的分頁頁面
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:th="http://www.thymeleaf.org">
<body>
    <div  th:fragment='paginationbar'>
        <ul class="pagination pagination-lg" th:if="${page.totalPages>1}">
            <li class="page-item">
                <a class="page-link" th:href="@{${url}(page = 0)}" data-target="#loading" data-toggle="modal">
                                 首頁
                </a>
            </li>
            <li th:if="${not page.first}" class="page-item">
                <a class="page-link" th:href="@{${url}(page = ${page.number - 1})}" data-target="#loading" data-toggle="modal">
                                                    上一頁
                </a>
            </li>
            <li th:if="${page.first}" class="page-item disabled">
                <a class="page-link " th:href="@{${url}(page= 0)}" data-target="#loading" data-toggle="modal">上一頁</a>
            </li>
            <li class="page-item">
                <a class="page-link" th:text="${page.number} + 1 + ' / ' + ${page.totalPages} + ''">
                1/3頁</a>
            </li>
            <li th:if="${page.last}" class="page-item disabled">
                <a class="page-link" th:href="@{${url}(page=(${page.totalPages}-1))}" data-target="#loading" data-toggle="modal">下一頁</a>
            </li>
             <li th:if="${not page.last}" class="page-item">
                <a class="page-link" th:href="@{${url}(page = ${page.number + 1})}" data-target="#loading" data-toggle="modal">下一頁</a>
            </li>
            <li class="page-item">
                <a class="page-link" th:href="@{${url}(page=(${page.totalPages}-1))}" data-target="#loading" data-toggle="modal">末頁</a>
            </li>
       </ul>
    </div>
</body>
</html>

參考的文章:https://blog.csdn.net/u010634897/article/details/81612124