Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 모두를 위한 컴퓨터 과학
- til
- w3schools
- ssafy
- SSAFY 9기
- exception
- 모두를 위한 컴퓨터 과학(CS50)
- edwith
- 데이터베이스 모델링
- CS 기초
- CS 기초지식
- ERD
- 객체지향
- 기초프로그래밍
- Java Programming
- Compute Science
- SW
- 삼성청년SW아카데미
- Computer Science
- 면접을 위한 CS 전공지식 노트
- 관계형 데이터베이스
- 예외처리
- java
- 이진법
- 부스트코스
- CS50
- CS기초지식
- 상속
- 알고리즘
- WebProgramming
Archives
- Today
- Total
Joslynn의 하루
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Paging(페이징) 처리_221018 본문
MSA Full-Stack 개발자 양성과정/JSP&Servlet
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Paging(페이징) 처리_221018
Joslynn 2022. 10. 18. 15:38페이징 처리
1) 전체레코드수 (게시물의 개수)
ex) select count(*) from ____
2) 한페이지당 몇개의 게시물 출력 결정 - PageCnt.pagesize
3) 한 블록당 보여질 페이지번호( [page번호] ) 개수 - blockcount
4) 페이지를 이동할 때마다 바뀌는 현재 page번호 - PageCnt.pageNo
5) 전체 페이지 수 - PageCnt.pageCnt
ex) Math.ceil(count/pagesize);
- page 관련 쿼리문
#paging
query.pagingSelect=select * from (SELECT a.*, ROWNUM rnum FROM (SELECT * FROM Electronics ORDER BY writeday desc) a) where rnum>=? and rnum <=?
query.totalCount=select count(*) from Electronics
- pageCnt 클래스
public class PageCnt {
private static int pageCnt; // 총페이지 수 Math.ceil(전체레코드수 /pagesize)
public static int pagesize = 5;// 한 페이지 당 5개 출력물 // 미리 설정
public static int pageNo = 1; // 1page에서 기본 시작
public int blockcount = 2; // 미리 설정
// String keyField;
public PageCnt() {
super();
}
public PageCnt(int pageCnt) {
super();
this.pageCnt = pageCnt;
}
public int getPageCnt() {
return pageCnt;
}
public void setPageCnt(int pageCnt) {
this.pageCnt = pageCnt;
}
public static int getPagesize() {
return pagesize;
}
public static void setPagesize(int pagesize) {
PageCnt.pagesize = pagesize;
}
public static int getPageNo() {
return pageNo;
}
public static void setPageNo(int pageNo) {
PageCnt.pageNo = pageNo;
}
public int getBlockcount() {
return blockcount;
}
public void setBlockcount(int blockcount) {
this.blockcount = blockcount;
}
}
- 페이지 내 게시물 구하기
시작점: ((pageNo - 1) * pageSize) + 1;
끝점 : pageNo * pageSize;
<nav class="pagination-container">
<div class="pagination">
<c:set var="doneLoop" value="false" /> <!-- 반복문을 제어할 변수 선언 -->
<c:set var="temp" value="${(pageNo-1) % p.blockcount}" />
<c:set var="startPage" value="${pageNo - temp}" />
<c:if test="${(startPage-p.blockcount) > 0}">
<a class="pagination-newer"
href="${path}/front?key=elec&methodName=select&pageNo=${startPage-1}">PREV</a>
</c:if>
<span class="pagination-inner"> <c:forEach var='i'
begin='${startPage}' end='${(startPage-1)+p.blockcount}'>
<c:if test="${(i-1)>=p.pageCnt}">
<c:set var="doneLoop" value="true" />
</c:if>
<c:if test="${not doneLoop}">
<a class="${i==pageNo?'pagination-active':page}"
href="${path}/front?key=elec&methodName=select&pageNo=${i}">${i}</a>
</c:if>
</c:forEach>
</span>
<c:if test="${(startPage+p.blockcount)<=p.pageCnt}">
<a class="pagination-older"
href="${path}/front?key=elec&methodName=select&pageNo=${startPage+p.blockcount}">NEXT</a>
</c:if>
</div>
</nav>
'MSA Full-Stack 개발자 양성과정 > JSP&Servlet' 카테고리의 다른 글
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet MVC 구조 Refactoring_221014 (0) | 2022.10.14 |
---|---|
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet 자료 Up-Download_221012 (0) | 2022.10.12 |
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Listener(이벤트 핸들러)_221012 (0) | 2022.10.12 |
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Filter(필터), log 기록_221011 (1) | 2022.10.11 |
[Servlet] annotation과 xml 설정 (0) | 2022.10.11 |
Comments