ページング処理
問題の状況
下図に示すように、総投稿数とページインデックスが分かれている場合は、ページング処理のためのプログラムを作成したいと思います.
テストコード
public class PagerTest {
public static void main(String[] args){
long totalCount = 139;
long pageIndex = 12;
Pager pager = new Pager(totalCount);
System.out.println(pager.html(pageIndex));
}
}
以下に示す.インプリメンテーションコード
public class Pager {
long totalCount;
long pageIndex;
Pager(long count){
totalCount = count;
}
public void setPageIndex(long pageIndex) {
this.pageIndex = pageIndex;
}
public String aTagGenerator(String var){
return "<a href='#'>" + var +"</a> \n";
}
public String aTagGenerator(long var){
return "<a href='#'>" + var +"</a> \n";
}
public String aTagFocusGenerator(long var){
return "<a href='#' class = 'on'>" + var +"</a> \n";
}
public int maxPageCalculator(long totalCount){
return (int) Math.ceil(totalCount/10);
}
public String middleATag(){
String result = "";
int initialNumber = (int) Math.floor(pageIndex/10)*10 + 1;
for(int i = initialNumber; i < initialNumber + 10; i++){ // 10개씩 출력
if(i == pageIndex){
result += aTagFocusGenerator(i);
} else {
result += aTagGenerator(i);
}
if(i > maxPageCalculator(totalCount)){ // 최대 페이지를 넘어가면 멈춤
break;
}
};
return result;
}
public String format(){
return aTagGenerator("[처음]") +
aTagGenerator("[이전]") +
middleATag() +
aTagGenerator("[다음]") +
aTagGenerator("[마지막]");
}
public String html(long index){
setPageIndex(index);
return format();
}
}
コメント
aTagGenerator,aTagfocusGeneratorの部分はパラメータとしてリンクを受信し,それを入れるとよいかもしれない.
Reference
この問題について(ページング処理), 我々は、より多くの情報をここで見つけました https://velog.io/@yeonseong_lee/페이징-처리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol