----------------- paging 을 포함할 파일 ---------------
int curPage = request.getParameter("curPage") == null ? 1 : Integer.parseInt(request.getParameter("curPage"));
int totalRecord = 10;//총 레코드수 의미없는 값이지만, db에서 토탈 레코드를 같이 뽑아서 저장한다. db에서 토탈 레코드 저장!!!!
int numPerPage = 100; // 페이지당 레코드수
int totalPage = 0;//총 페이지수 .. 선언만 하고 paging 에서 처리한다.
int rs_rows = 0; // 페이지 시작 번호 선언
rs_rows = rs_rows + (curPage-1)*numPerPage; // 이렇게 사용한다. ,rs_rows 는 각 페이지의 컬럼의 번호이다. numperpage를 곱해주는 것은 각페이지의 시작 숫자를 뜻한다. ex 100, 101 , 102 , 103 ... , 200 , 201 , 202 , 203 ...
<input type="hidden" id="curPage" name="curPage" value="<%=curPage%>" />
// 기본적으로 form 형식으로 파라미터 전달하기 때문에 form 이 형성 되어야한다.
totalRecord 를 입력받아와야 페이징에서 알아서 처리해준다.
totalRecord = rs.getInt("totalRecord");
$(".pageList").click(function(){
var url = $(this).attr("url"); // 이건 안쓰는 거같다... 파악해보자
$("#curPage").val($(this).attr("value"));
$("#frm").attr({"action":"./stat100.jsp", "target":"_self"}).submit();
});
페이지 번호 부여할 위치에
<%@include file ="../include/paging.jsp" %>
이 선언문을 써서 아래 코드를 불러온다.
------------------ paging.jsp ---------------------
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<div class="paging" style="text-align:center; max-width:1200px;">
<%
int block = 1; //페이지그룹번호
int pagePerBlock = 10; //블록당 페이지 수
if(curPage%pagePerBlock==0){
block = curPage/pagePerBlock;
}else {
block = curPage/pagePerBlock+1;
}
int firstPage = (block-1)*pagePerBlock+1;//블록에 속한 첫번째 페이지
int lastPage = block *pagePerBlock; //블록에 속한 마지막 페이지
if(totalRecord!=0){
if(totalRecord%numPerPage==0){
totalPage = totalRecord/numPerPage;
}else{
totalPage = totalRecord/numPerPage+1;
}
}
int prevPage = 0;
int totalBlock = 0;//총 블록수
if(totalPage>0){
if(totalPage%pagePerBlock==0){
totalBlock = totalPage/pagePerBlock;
} else {
totalBlock = totalPage/pagePerBlock+1;
}
}
%>
<%
if(true){
prevPage = firstPage-1;
%>
<%
if(curPage>10) {
%>
<a href="javascript:void(0);" class="pre pageList" value="<%=prevPage%>"><img src="/images/btn/btn_Tprev.gif" alt="prev" /></a>
<%
} else {
%>
<a href="javascript:void(0);"><img src="/images/btn/btn_Tfirst.gif" class="pageList" alt="first" value="1" /></a>
<a href="javascript:alert('더이상 페이지 목록이 없습니다.');"><img src="/images/btn/btn_Tprev.gif" alt="prev" /></a>
<%
}
%>
<%
}
if (block >= totalBlock) {
lastPage = totalPage;
}
for (int i =firstPage; i <= lastPage; i++) {
if(i == curPage){
%>
<span class="on"><a href="#"><%=i%></a></span>
<%
}
else{
%>
<span><a href="javascript:void(0);" class="pageList" value="<%=i%>"><%=i%></a></span>
<%
}
}
if(true){
int nextPage =lastPage+1;
%>
<%
if(lastPage<totalPage) {
%>
<a href="javascript:void(0);" class="next pageList" value="<%=nextPage %>"><img src="/images/btn/btn_Tnext.gif" alt="next" /></a>
<%
} else {
%>
<a href="javascript:alert('더이상 페이지 목록이 없습니다.');"><img src="/images/btn/btn_Tnext.gif" alt="next" /></a>
<a href="javascript:void(0);"><img src="/images/btn/btn_Tlast.gif" alt="last" class="pageList" value="<%= totalPage %>" /></a>
<%
}
%>
<%
}
%>
</div>
'Web > JSP_SERVLET' 카테고리의 다른 글
리다이렉트 방식의 종류. (0) | 2016.02.26 |
---|---|
jsp+tomcat 한글깨짐 나름 총정리 (0) | 2016.02.02 |
jsp 페이지 및 ajax 사용시 공백 제거 (0) | 2016.01.29 |
JSP 쿠키(Cookie) (0) | 2016.01.20 |
체크박스 checkbox 순서 유지, 파라미터 전달 (0) | 2015.12.23 |
댓글