//한 페이지 당 보여줄 수
final int pageSize = 10;
//페이지 수
final int pageGroupSize = 10;
String pageNum = request.getParameter("pageNum");//페이지 번호
if (pageNum == null) {
pageNum = "1";
}
int currentPage = Integer.parseInt(pageNum);
int startRow = (currentPage - 1) * pageSize + 1;//한 페이지의 시작글 번호
int endRow = currentPage * pageSize;//한 페이지의 마지막 글번호
int count;
int number=0;
//테이블
List<List_V> Table_V = new ArrayList();
count = Dao.getTotalCnt();//전체 글의 수
if (count > 0) {
if(endRow>count)
endRow = count;
Table_V = Dao.getTDetail(startRow,endRow);//현재 페이지에 해당하는 글 목록
} else {
Table_V = null;
}
number=count-(currentPage-1)*pageSize;//글목록에 표시할 글번호
//페이지그룹의 갯수
//ex) pageGroupSize가 3일 경우 '[1][2][3]'가 pageGroupCount 개 만큼 있다.
int pageGroupCount = count/(pageSize*pageGroupSize)+( count % (pageSize*pageGroupSize) == 0 ? 0 : 1);
//페이지 그룹 번호
//ex) pageGroupSize가 3일 경우 '[1][2][3]'의 페이지그룹번호는 1 이고 '[2][3][4]'의 페이지그룹번호는 2 이다.
int numPageGroup = (int) Math.ceil((double)currentPage/pageGroupSize);
//해당 뷰에서 사용할 속성
request.setAttribute("currentPage", new Integer(currentPage));
request.setAttribute("startRow", new Integer(startRow));
request.setAttribute("endRow", new Integer(endRow));
request.setAttribute("count", new Integer(count));
request.setAttribute("pageSize", new Integer(pageSize));
request.setAttribute("number", new Integer(number));
request.setAttribute("pageGroupSize", new Integer(pageGroupSize));
request.setAttribute("numPageGroup", new Integer(numPageGroup));
request.setAttribute("pageGroupCount", new Integer(pageGroupCount));
request.setAttribute("Table_V", Table_V);
return "View";