본문 바로가기
혼자서 개발새발

게시판을 손수 페이징해보자 ^^!

by 휴일이 2022. 12. 22.

 

머리 싸매가지고 만든 게시판 페이징~

 

private final int listSize = 10;

private int totalPost; //총 글 갯수
private int totalPage; //총 페이지 갯수 *
private int offsetPost; //페이지 첫 글
private int limitPost; //페이지 마지막 글
private int viewPage; //현재 페이지
private int beginPage; //목록 첫 페이지
private int endPage; //목록 다음 페이지

private boolean showNext = false;
private boolean showPrev = false;

public MarketPageHandler(int totalPost) {
    this.totalPost = totalPost;
    totalPage = totalPost/listSize +1;
    limitPost = viewPage*listSize < totalPost ? viewPage*listSize : totalPost;
    offsetPost = viewPage*10-9;
    beginPage = (viewPage/10*10)+1;
    endPage = totalPost*0.1 >= 1 ? totalPage : totalPost/10+1;
    viewPage = offsetPost == 1 ? 1 :offsetPost/10;

    showNext = totalPage != endPage;
    showPrev = beginPage != 1;
}

 

 

 

 

하...근데..

 

 

이거 구하다가 친구한테 말했더니

JPA가 페이징 기능을 자동으로 해준다고...^^!

 

 

그래도 구하기 시작한 거 중간에 포기하기 싫어서 걍 다 구함ㅋ

 

 

 

테스트

int listSize = 10;
int totalPost = 1960;
int viewPage = 147;

int totalPage = totalPost/listSize +1;
int limitPost = viewPage*listSize < totalPost ? viewPage*listSize : totalPost;
int offsetPost = viewPage*10-9;
int beginPage = (viewPage/10*10)+1;
int endPage = totalPost*0.1 >= 1 ? totalPage : totalPost/10+1;

boolean showNext = totalPage != endPage;
boolean showPrev = beginPage != 1;

System.out.println("totalPage = " + totalPage+","+(totalPage==197));
System.out.println("beginPage = " + beginPage+","+(beginPage==141));
System.out.println("offsetPost = " + offsetPost+","+(offsetPost==1461));
System.out.println("limitPost = " + limitPost+","+(limitPost==1470));
System.out.println("endPage = " + endPage+","+(endPage==197));
System.out.println("showNext = " + showNext+","+(showNext==false));
System.out.println("showPrev = " + showPrev+","+(showPrev==true));

 

 

 

결과

 

모두 참이 나옴을 볼 수 잇겠어요 ^^

낄렵낄렵

728x90