// === 페이지바 만들기 === //
int blockSize = 10;
// blockSize 는 1개 블럭(토막)당 보여지는 페이지번호의 개수이다.
/*
1 2 3 4 5 6 7 8 9 10 [다음][마지막] -- 1개블럭
[맨처음][이전] 11 12 13 14 15 16 17 18 19 20 [다음][마지막] -- 1개블럭
[맨처음][이전] 21 22 23
*/
int loop = 1;
/*
loop는 1부터 증가하여 1개 블럭을 이루는 페이지번호의 개수[ 지금은 10개(== blockSize) ] 까지만 증가하는 용도이다.
*/
int pageNo = ((currentShowPageNo - 1)/blockSize) * blockSize + 1;
// *** !! 공식이다. !! *** //
/*
1 2 3 4 5 6 7 8 9 10 -- 첫번째 블럭의 페이지번호 시작값(pageNo)은 1 이다.
11 12 13 14 15 16 17 18 19 20 -- 두번째 블럭의 페이지번호 시작값(pageNo)은 11 이다.
21 22 23 24 25 26 27 28 29 30 -- 세번째 블럭의 페이지번호 시작값(pageNo)은 21 이다.
currentShowPageNo pageNo
----------------------------------
1 1 = ((1 - 1)/10) * 10 + 1
2 1 = ((2 - 1)/10) * 10 + 1
3 1 = ((3 - 1)/10) * 10 + 1
4 1
5 1
6 1
7 1
8 1
9 1
10 1 = ((10 - 1)/10) * 10 + 1
11 11 = ((11 - 1)/10) * 10 + 1
12 11 = ((12 - 1)/10) * 10 + 1
13 11 = ((13 - 1)/10) * 10 + 1
14 11
15 11
16 11
17 11
18 11
19 11
20 11 = ((20 - 1)/10) * 10 + 1
21 21 = ((21 - 1)/10) * 10 + 1
22 21 = ((22 - 1)/10) * 10 + 1
23 21 = ((23 - 1)/10) * 10 + 1
.. ..
29 21
30 21 = ((30 - 1)/10) * 10 + 1
*/
String pageBar = "<ul style='list-style: none;'>";
String url = request.getContextPath()+"/mscore/list";
// === [맨처음][이전] 만들기 === //
if(pageNo != 1) {
pageBar += "<li style='display:inline-block; width:30px; font-size:12pt;'><a href='"+url+"?page=1' title='처음'>≪</a></li>";
pageBar += "<li style='display:inline-block; width:30px; font-size:12pt;'><a href='"+url+"?page="+(pageNo-1)+"' title='이전'><</a></li>";
}
while( !(loop > blockSize || pageNo > totalPage) ) {
if(pageNo == currentShowPageNo) {
pageBar += "<li style='display:inline-block; width:30px; font-size:12pt; border:solid 1px gray; color:red; padding:2px 4px;'>"+pageNo+"</li>";
}
else {
pageBar += "<li style='display:inline-block; width:30px; font-size:12pt;'><a href='"+url+"?page="+pageNo+"'>"+pageNo+"</a></li>";
}
loop++;
pageNo++;
}// end of while-----------------------
// === [다음][마지막] 만들기 === //
if( pageNo <= totalPage ) {
pageBar += "<li style='display:inline-block; width:30px; font-size:12pt;'><a href='"+url+"?page="+pageNo+"' title='다음'>></a></li>";
pageBar += "<li style='display:inline-block; width:30px; font-size:12pt;'><a href='"+url+"?page="+totalPage+"' title='마지막'>≫</a></li>";
}
pageBar += "</ul>";