정미나닷컴
[Java] 자바 페이징 함수 본문
public String getPaging(int totalCount, int currentPage, int pageSize, int pageGroupSize){
String pageStr = "";
int pageGroupCount = totalCount / (pageSize * pageGroupSize) + (totalCount % (pageSize * pageGroupSize) == 0 ? 0 :1);
int numPageGroup = (int)Math.ceil((double)currentPage / pageGroupSize);
if (totalCount > 0){
int pageCount = (totalCount / pageSize) + (totalCount % pageSize == 0 ? 0 : 1);
int startPage = pageGroupSize * (numPageGroup - 1) + 1;
int endPage = startPage + pageGroupSize-1;
String preImg = "<img alt=\"이전으로\" src=\"이전 이미지\" onfocus=\"this.blur();\" style=\"cursor:pointer\">";
String nextImg = "<img alt=\"다음으로\" src=\"다음 이미지\" onfocus=\"this.blur();\" style=\"cursor:pointer\">";
if (endPage > pageCount ){
endPage = pageCount;
}
if (numPageGroup > 1){
pageStr += "<a onclick=\"goPage(" + ((numPageGroup-2) * pageGroupSize + 1) + ")\" onfocus=\"this.blur();\" style=\"cursor:pointer\">" + preImg + "</a> ";
}
for (int i = startPage; i <= endPage; i++){
if (currentPage == i){
pageStr += "<a onclick=\"goPage(" + i + ")\" class=\"thisPage\" onfocus=\"this.blur();\" style=\"cursor:pointer\">" + i + "</a> ";
}else{
pageStr += "<a onclick=\"goPage(" + i + ")\" onfocus=\"this.blur();\" style=\"cursor:pointer\">" + i + "</a> ";
}
}
if (numPageGroup < pageGroupCount){
pageStr += "<a onclick=\"goPage(" + (numPageGroup * pageGroupSize + 1) + ")\" onfocus=\"this.blur();\" style=\"cursor:pointer\">" + nextImg + "</a> ";
}
}
return pageStr;
}
String pageStr = "";
int pageGroupCount = totalCount / (pageSize * pageGroupSize) + (totalCount % (pageSize * pageGroupSize) == 0 ? 0 :1);
int numPageGroup = (int)Math.ceil((double)currentPage / pageGroupSize);
if (totalCount > 0){
int pageCount = (totalCount / pageSize) + (totalCount % pageSize == 0 ? 0 : 1);
int startPage = pageGroupSize * (numPageGroup - 1) + 1;
int endPage = startPage + pageGroupSize-1;
String preImg = "<img alt=\"이전으로\" src=\"이전 이미지\" onfocus=\"this.blur();\" style=\"cursor:pointer\">";
String nextImg = "<img alt=\"다음으로\" src=\"다음 이미지\" onfocus=\"this.blur();\" style=\"cursor:pointer\">";
if (endPage > pageCount ){
endPage = pageCount;
}
if (numPageGroup > 1){
pageStr += "<a onclick=\"goPage(" + ((numPageGroup-2) * pageGroupSize + 1) + ")\" onfocus=\"this.blur();\" style=\"cursor:pointer\">" + preImg + "</a> ";
}
for (int i = startPage; i <= endPage; i++){
if (currentPage == i){
pageStr += "<a onclick=\"goPage(" + i + ")\" class=\"thisPage\" onfocus=\"this.blur();\" style=\"cursor:pointer\">" + i + "</a> ";
}else{
pageStr += "<a onclick=\"goPage(" + i + ")\" onfocus=\"this.blur();\" style=\"cursor:pointer\">" + i + "</a> ";
}
}
if (numPageGroup < pageGroupCount){
pageStr += "<a onclick=\"goPage(" + (numPageGroup * pageGroupSize + 1) + ")\" onfocus=\"this.blur();\" style=\"cursor:pointer\">" + nextImg + "</a> ";
}
}
return pageStr;
}
int sCurrentPage = 0; // 현재페이지 번호
int sRowCntPerPage = 10; // 페이지당 게시글 수
int sStartRow = 0; // 조회시 첫 인덱스
int sEndRow = 0; // 조회시 마지막 인덱스
int sTotalCount = 100; // 총데이타 건수
if(request.getParameter("pageNo")!= null) sCurrentPage = Integer.parseInt(request.getParameter("pageNo"));
else sCurrentPage = 1;
sStartRow = (sCurrentPage - 1) * sRowCntPerPage + 1;
sEndRow = sCurrentPage * sRowCntPerPage;
// 현재페이지번호 > 1 && 현재페이지번호 * 페이지당Row > 총건수 + 페이지당 Row -1
if( sCurrentPage > 1 && ( sCurrentPage * sRowCntPerPage ) > sTotalCount + sRowCntPerPage - 1){
sCurrentPage = sCurrentPage - 1;
}
int sRowCntPerPage = 10; // 페이지당 게시글 수
int sStartRow = 0; // 조회시 첫 인덱스
int sEndRow = 0; // 조회시 마지막 인덱스
int sTotalCount = 100; // 총데이타 건수
if(request.getParameter("pageNo")!= null) sCurrentPage = Integer.parseInt(request.getParameter("pageNo"));
else sCurrentPage = 1;
sStartRow = (sCurrentPage - 1) * sRowCntPerPage + 1;
sEndRow = sCurrentPage * sRowCntPerPage;
// 현재페이지번호 > 1 && 현재페이지번호 * 페이지당Row > 총건수 + 페이지당 Row -1
if( sCurrentPage > 1 && ( sCurrentPage * sRowCntPerPage ) > sTotalCount + sRowCntPerPage - 1){
sCurrentPage = sCurrentPage - 1;
}
<%=getPaging(sTotalCount, sCurrentPage, sRowCntPerPage, 5)%>
'IT' 카테고리의 다른 글
[jQuery] Juitter Plugin 을 이용한 트위터 실시간 검색 (0) | 2010.10.07 |
---|---|
[Oracle] 오라클 Null 관련 함수 (0) | 2010.10.06 |
[Oracle] 오라클 시퀀스 생성 (0) | 2010.09.30 |
[Oracle] 오라클 인덱스 생성 (0) | 2010.09.30 |
[iPhone] 아이폰 커플용 무료어플 Mina (0) | 2010.09.02 |