[SPRING] DataTables 서버 쪽 페이지 매김
SPRINGDataTables 서버 쪽 페이지 매김
클라이언트 측 페이지 매김을 사용하여 Spring REST 앱을 사용하고 있으며 기본적으로 DataTables가 있으며 모든 것이 작동합니다. 이제 클라이언트 가보고 싶은 페이지 번호를 DataTables에서 정보를 얻는 방법을 모르기 때문에 문제가있는 서버 측 페이지 매김으로 변경해야합니다. DT 매뉴얼에서 유용한 것을 찾을 수 없습니다.
해결법
-
==============================
1.Datatable을 말할 때 DataTables jQuery 플러그인을 사용한다고 가정합니다.
Datatable을 말할 때 DataTables jQuery 플러그인을 사용한다고 가정합니다.
서버 쪽 페이지 매김을 활성화하려면 통과해야합니다
"serverSide": true,
이처럼 :
$('#example').DataTable( { "processing": true, "serverSide": true, "ajax": "/your_url" });
위의 작업을 수행하면 서버 쪽 페이지 매김이 활성화됩니다. 그러나 서버 측에서도 약간의 변경이 필요합니다. 그것들을 단계별로 봅시다.
DataTables 플러그인은 다음과 같은 정보로 AJAX 호출에 사용자 정의 매개 변수를 추가합니다
order: asc start: 20 length: 10 // and many more.
이 문서 링크를 검사하고 다음 페이지 버튼을 클릭하면 요청에 전달 된 매개 변수를 볼 수 있습니다.
"draw": 3, // unique ID "recordsTotal": 57, // total number of records "recordsFiltered": 57 // total number of filtered records
이번에는 같은 링크를 조사해 응답 데이터를 볼 수 있습니다.
컨트롤러 API에서 POST 호출에서 GET 및 attr에 대한 queryParam으로 다음 매개 변수를 추가해야합니다.
order: asc start: 20 length: 10
데이터베이스에서 세부 정보를 얻는 서비스 계층.
MySQ1의 경우 총 레코드 수를 가져 와서 조회에서 LIMIT 절 LIMIT 10, 10을 전달해야합니다.
예 :
SELECT * FROM User LIMIT 20,10;
다음 레코드 세트를 계산하려면 시작 및 길이를 사용하십시오.
까다로울 수 있지만 제대로 이해하고 구현하면 재미 있습니다.
-
==============================
2.DataTables 서버 측 처리에 대한 샘플을 참조하십시오. https://datatables.net/examples/server_side/simple.html
DataTables 서버 측 처리에 대한 샘플을 참조하십시오. https://datatables.net/examples/server_side/simple.html
변경 페이지 후 다음 형식으로 요청을 서버에 캡처 할 수 있습니다. https : //.../server_processing.php? draw = 3 & columns ... & order = 0 & dir = asc & start = 20 & length = 10 & search % 5Bvalue % 5D = & search % 5Bregex % 5D = false & _ = 1534436781912
이는 DataTable이 첫 번째 열 오름차순으로 페이지 번호 3 (draw = 3)을 요청 함을 의미합니다.
서버 측 (REST)에서 request.getParameter ( "draw")를 사용하여 페이지 번호를 얻을 수 있습니다.
from https://stackoverflow.com/questions/51881222/datatables-server-side-pagination by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 사용자 정의 Spring @Cacheable 주석 작성 (0) | 2019.09.14 |
---|---|
[SPRING] Spring Boot로 Monolith JSF / Spring 애플리케이션 랩핑 (0) | 2019.09.14 |
[SPRING] Kafka 리스너 (spring-kafka)가 초기화되지 않은 경우에도 스프링 애플리케이션을 시작하는 방법 (0) | 2019.09.14 |
[SPRING] 기본으로 돌아 가기 : Apache Camel 경로 및 직접 구성 요소 (0) | 2019.09.14 |
[SPRING] 스프링에서 @NumberFormat에 다른 로케일 사용 (0) | 2019.09.14 |