@Override public Page<LabelVo> findAll(Optional<LabelVo> condition, Pageable pageable) { List<LabelVo> labelVoList = new ArrayList<LabelVo>(); Page<LabelVo> pageVo; Page<Label> projects = labelRepository.findAll(LabelSpec.builder().condition(condition).build(), pageable); for (Label label : projects.getContent()) { LabelVo labelVo = new LabelVo(); /** label的內容複製到labelVo中 */ BeanUtils.copyProperties(label, labelVo); /** 經過枚舉labelType類 拿到類型文字描述 保存在labelTypeValue */ labelVo.setLabelTypeValue(LabelType.getTypeValue(label.getLabelType())); labelVoList.add(labelVo); } pageVo = new PageImpl<>(labelVoList, projects.getPageable(), projects.getTotalElements()); return pageVo; }
查詢出來得數據再Page中有分頁得參數java
這個時候去要往前臺傳一個額外得參數使用Page<LabelVo>ide
若是僅僅只是傳遞其中得集合,前臺是沒辦法分頁的ui
使用new PageImpl<>(內容,新的PageRequest(數量,大小),totalElements),能夠完成這個Page<Label>和Page<LabelVo>之間的轉換code