PageResponseDTO
페이지 정보
본문
package web.dto;
import java.util.List;
import lombok.Builder;
import lombok.Data;
@Data
public class PageResponseDTO<E> {
// E는 타입 파라미터(type parameter)로 저장될 요소의 타입을 지정, E element
private int page;
private int size;
private int total;
private int start; //시작 페이지 번호
private int end; //끝 페이지 번호
private int block; //블럭 출력 수
private boolean prev; //이전 페이지 존재 여부
private boolean next; //다음 페이지 존재 여부
private List<E> dtoList;
@Builder(builderMethodName = "withAll")
public PageResponseDTO(PageRequestDTO pageRequestDTO, List<E> dtoList, int total) {
if(total <= 0) {
return;
}
this.page = pageRequestDTO.getPage();
this.size = pageRequestDTO.getSize();
this.block = pageRequestDTO.getBlock();
this.total = total;
this.dtoList= dtoList;
this.end = (int)(Math.ceil(this.page / (double)block)) * block; //화면 마지막 값
this.start = this.end - (block -1); //화면 시작 값
int last = (int)(Math.ceil((total / (double)size))); //마지막 페이지 값
this.end = end > last ? last : end;
this.prev = this.start > 1;
this.next = total > this.end * this.size;
}
}
- 이전글PageRequestDTO 24.06.18
- 다음글BoardService 24.06.18
댓글목록
등록된 댓글이 없습니다.