아이템 페이징을 했는데 메인 화면에서 페이징 된 아이템이 보이는게 아니라 모든 아이템들이 보임
< 수정 전 >
List<Item> itemList = itemBO.getItemList();
model.addAttribute("itemList",itemList);
// DB 조회 => item 목록
List<Item> pagingItemList = itemBO.getItemList(prevIdParam, nextIdParam);
int prevId = 0;
int nextId = 0;
if (pagingItemList.isEmpty() == false) {
prevId = pagingItemList.get(0).getId(); // 첫번째칸 id
nextId = pagingItemList.get(pagingItemList.size() - 1).getId(); // 마지막칸 id
// 이전 방향의 끝인가? => 끝이면 0으로 세팅
if (itemBO.isPrevLastPage( prevId)) { // true가 온 경우
prevId = 0;
}
// 다음 방향의 끝인가? => 끝이면 0으로 세팅
if (itemBO.isNextLastPage(nextId)) { // true가 온 경우
nextId = 0;
}
}
model.addAttribute("prevId",prevId);
model.addAttribute("nextId",nextId);
model에 담아서 view로 보내는 과정에서 pagingItemList를 보내줘야 하는데 itemList 를 view로 보내서 페이징 되지 않은 모든 아이템들이 나오는 오류 발생
< 수정 후>
// DB 조회 => item 목록
List<Item> pagingItemList = itemBO.getItemList(prevIdParam, nextIdParam);
int prevId = 0;
int nextId = 0;
if (pagingItemList.isEmpty() == false) { // item 비어있지 않을 때 페이징 정보 세팅
prevId = pagingItemList.get(0).getId(); // 첫번째칸 id
nextId = pagingItemList.get(pagingItemList.size() - 1).getId(); // 마지막칸 id
// 이전 방향의 끝인가? => 끝이면 0으로 세팅
// prevId == 유저가 쓴 item 테이블의 제일 큰 숫자와 같으면 이전의 끝페이지
if (itemBO.isPrevLastPage( prevId)) { // true가 온 경우
prevId = 0;
}
// 다음 방향의 끝인가? => 끝이면 0으로 세팅
// nextId == 테이블의 제일 작은 숫자와 같으면 다음의 끝페이지
if (itemBO.isNextLastPage(nextId)) { // true가 온 경우
nextId = 0;
}
}
model.addAttribute("pagingItemList" ,pagingItemList);
아이템 페이징을 했는데 메인 화면에서 페이징 된 아이템이 보이는게 아니라 모든 아이템들이 보임 < 수정 전 >
model에 담아서 view로 보내는 과정에서 pagingItemList를 보내줘야 하는데 itemList 를 view로 보내서 페이징 되지 않은 모든 아이템들이 나오는 오류 발생 < 수정 후>