소프트웨어 (과거)/자바 GUI & C# 등...

1. 페이징 처리 및 구현

dgmayor 2022. 1. 25. 16:03
728x90

페이징 처리를 하다가 애를 많이 먹었다.

처음은 -2, -1, 0이 뜨지를 않나, 7, 8, 9 가 뜨는 불완전한 페이징을 구현 하였으나.....

좀 더 깔끔한 페이징을 위해서 여기 저기 돌아 다녀 보니, 무슨 말인지 이해가 가지 않았다.

그래서 다른 분 블로그는 참고만 하고 나 스스로 답을 찾으려고 노력하다 보니.....

페이징을 어떻게 해야 할 지 눈에 들어 왔다.

 

 

이제와서 다시금 드는 생각이지만.... 처음 페이징을 구현 하셨던 분도 분명 처음에는 검색이 아닌 자신의 머리를 통해서 정보를 만들어 내셨을 것이다. 그렇다면 나 역시 검색 대신에 스스로 생각해서 문제를 해결할 수 있다는 것인데.....

어쨌든 오늘 만큼은 내가 나 스스로 멋있다는 생각이 많이 든다.

소스 및 알고리즘은 다음과 같다.

 

int count = DB_User.count();

int PAGE_VIEW = 8;
int PAGE_BLOCK = 5;

int page_last = (count - 1) / PAGE_VIEW + 1;

String page_cur = request.getParameter("page_cur");
if (page_cur == null) {
page_cur = String.valueOf(page_last);
}

int page_cursor = Integer.parseInt(page_cur);

int start_block = ((page_cursor - 1) / PAGE_BLOCK) * PAGE_BLOCK + 1;
int end_block = start_page + PAGE_BLOCK - 1;

int start_view = (page_cursor - 1) * PAGE_VIEW + 1;
int end_view = page_cursor * PAGE_VIEW;

int end_X_page = end_page;
if (end_page > page_last) {
end_X_page = page_last;
}

728x90