728x90
반응형
SMALL
페이징 처리하기
새로운 프로젝트 만들기
2. entity에로직을 짜기 위한 vo 추가 ( 클래스)
Criteria.java 코드
package kr.smhrd.entity;
import lombok.Data;
@Data
public class Criteria {
private int page; // 현재 페이지 번호(1)
private int perPageNum; //한 페이지에 보여줄 게시글의 수
public Criteria() {
this.page=1;
this.perPageNum=10;
}
//현재 페이지의 게시글의 시작번호
public int getPageStart() {
return (page-1)*perPageNum; // 1-> 10
}
}
2. BoardMapper.xml에서 select문 수정
3. BoardMappr.java에서 getList 파라미터 추가
4. BoardController.java에 오류 수정
-> 글쓰기가 10페이지를 넘어가면 1페이지는 보이지만
2페이지를 볼려면
-> 다음처럼 url에 page=2 를 따로 처리해야 볼 수 있음
페이지 보이게 하기
1. entity에 PageMaker 클래스 추가하기
2. PageMaker 클래스 코드
package kr.smhrd.entity;
import lombok.Data;
@Data
public class PageMaker {
private Criteria cri; //page, perPageNum
private int totalCount; // 총게시물의 수
private int displayPageNum=10; // 하단에 출력되는 페이지 개수
private int startPage; // 시작페이지 번호
private int endPage; // 끝페이지 번호 ( 조정이 필요하다 )
private boolean prev; // 이전버튼(true, false)
private boolean next; // 다음버튼(true, false)
//전체 게시글의 수를 저장하는 메서드
public void setTotalCount(int totalCount) {
this.totalCount=totalCount;
pageMaker();
}
//페이징 처리에 필요한 계산하는 메서드
private void pageMaker() {
//1. 화면에 보여질 마지막 페이지 번호(계산수식)
endPage=(int)(Math.ceil(cri.getPage()/(double)displayPageNum)*displayPageNum);
//2. 화면에 보여질 시작페이지 번호
startPage=endPage-displayPageNum+1; //1, 11, 21
if(startPage<=0) startPage=1;
//3. 전체 마지막 페이지 계산
int tempEndPage=(int)(Math.ceil(totalCount/(double)cri.getPerPageNum()));
//4. 화면에 보여질 마지막페이지의 유효성검사
if(tempEndPage<endPage) {
endPage=tempEndPage;
}
//5. 이전페이지 버튼 존재여부
prev=(startPage==1)?false:true;
//6. 다음페이지 버튼 존재여부
next=(endPage<tempEndPage)?true:false;
}
}
3. BoardMapper.java
4. BoardMapper.xml코드
5. BoardController.java코드
- list 메서드에 페이징처리에 필요한 객체를 생성
6. list.jsp
페이징처리 관련 BootStrap
https://www.w3schools.com/bootstrap4/bootstrap_pagination.asp
-> 실행화면 : 내가 누른 페이지에 대한 정보만 출력됨
-> 내가 누른 페이지에 파란색 표시
728x90
반응형
LIST
'스마트인재개발원 > Spring' 카테고리의 다른 글
[Spring]게시판만들기(19) - 삭제하기 / 03최종코드zip (0) | 2022.10.24 |
---|---|
[Spring]게시판 만들기(18) - 게시판 답글 달기 기능2 (0) | 2022.10.22 |
[Spring]게시판 만들기(17) - 새로운 프로젝트 생성/ 게시판 답글 달기 기능1 (0) | 2022.10.22 |
[Spring]게시판 만들기(16) - 게시판 수정,삭제 본인만 가능하게 하기 (0) | 2022.10.22 |
[Spring]게시판 만들기(16) - 레이아웃 따로 만들기 (0) | 2022.10.22 |