페이징 처리를 하다가 애를 많이 먹었다.
처음은 -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;
}
'소프트웨어 (과거) > 자바 GUI & C# 등...' 카테고리의 다른 글
6. 자바 GUI(Graphic User Interface) 정리 - 3 (0) | 2022.01.28 |
---|---|
5. 자바 GUI(Graphic User Interface) 정리 - 2 (0) | 2022.01.28 |
4. 자바 GUI(Graphic User Interface) 정리 - 1 (0) | 2022.01.28 |
3. 자바 리스너 이벤트 정리 (0) | 2022.01.28 |
2. 자바 프린터 사용 방법 (1) | 2022.01.28 |