이번에는 서버 측 페이지 매김 기능을 구현하는 bootstrap 테이블과 서버 측 페이징 notes을 구현하는 bootstrap-table을 가져왔습니다. 다음은 실제 사례입니다.
최근에는 프론트엔드에서 부트스트랩 테이블 플러그인을 사용하고 있습니다. 클라이언트측 페이징이 너무 크면 상호작용이 좋지 않기 때문에 서버측에서는 대용량 데이터를 페이징하는 데 사용합니다. 코드 시작
프런트엔드
먼저 부트스트랩 테이블이 전달하는 기본 페이징 매개변수를 살펴보겠습니다
오프셋은 어떤 인덱스에서 시작되나요?
limit 페이지당 제한 수
기본 페이징 매개변수와 다를 수 있으므로 수정하기로 결정했습니다. 백그라운드로 전달되는 매개변수는
입니다. page 0부터 시작하는 페이지
size 각 페이지에 표시되는 숫자
$('#'+ tableId).bootstrapTable({ queryParams:function(e) { varparam = { size: e.limit, page: (e.offset / e.limit),//不需要+1 }; returnparam; }, sidePagination:“server”; });
백스테이지
@ApiOperation(value ="获取企业列表,支持分页", notes ="json方法获取用户列表") @ApiImplicitParams({@ApiImplicitParam(name ="name", value ="企业名称", required =true, dataType ="string"), @ApiImplicitParam(name ="beginTime", value ="开始时间", required =true, dataType ="string") }) @RequestMapping(value="/list",method=RequestMethod.POST) @ResponseBody publicMap<String,Object> list(@RequestParamMap<String,Object> map,@RequestParam(required =false) String name,@RequestParam(required =false) String beginTime,@RequestParam(required =false) String endTime,@RequestParam(required =false) Integer deptid){ List<Map<String,Object>> list =newArrayList<>(); //当前页数 intpage = map.get("page")==null?0: Integer.parseInt(map.get("page").toString()); // 每页行数 intsize = map.get("size") ==null?10: Integer.parseInt(map.get("size").toString()); Order order =newOrder(Direction.ASC,"id"); Order order1 =newOrder(Direction.DESC,"createTime"); List<Order> orders =newArrayList<Order>(); orders.add(order1);//先按照createTime 降序排序 然后按照id升序 orders.add(order); Sort sort =newSort(orders); Pageable pageable =newPageRequest(page,size,sort); Page<Company> companyPages =null; if(StringKit.isEmpty(name)){ companyPages = companyService.companyDao.findAll(pageable); }else{ companyPages = companyService.companyDao.findByNameLike(name,pageable); } List<Company> companyList = companyPages.getContent(); SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for(Company company:companyList){ Map<String,Object> mapTemp = BeanKit.describe(company); mapTemp.put("createTime", sdf.format(company.getCreateTime())); list.add(mapTemp); } Map<String,Object> data =newHashMap<String,Object>(); data.put("total", companyPages.getTotalElements()); data.put("rows", list); returndata; }
주의
부트스트랩 테이블에서 받은 매개변수에는 총계와 행이 포함되어야 합니다. 총계는 총 수량이고 행은 각 페이지의 수입니다. 이 기사의 사례를 읽은 후 이 방법을 익히셨을 것입니다. 기타 관련 기사는 PHP 중국어 웹사이트에 있습니다!
추천 도서:
Angularjs는 이미지 미리보기 및 업로드를 구현합니다.vue는 axios 및 패키징을 사용합니다.위 내용은 bootstrap-table은 서버 측 페이징 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!