springboot - blog project (55)

Yuri Lee·2020년 9월 2일
0

springboot - blog project

목록 보기
30/49

스프링부트 강좌 55강(블로그 프로젝트) - 글목록 페이징하기

글 목록을 호출할때 findAll을 호출한다. 이때 특정 페이지를 호출할 수 있다. @Pageable를 받아서 !!

	// 한페이지당 2건에 데이터를 리턴받아 볼 예정
	@GetMapping("/dummy/user")
	public List<User> pageList(@PageableDefault(size=1, sort="id", direction = Sort.Direction.ASC) Pageable pageable){
		Page<User> pagingUser = userRepository.findAll(pageable);

		List<User> users = pagingUser.getContent();
		return users;
	}

이것을 이용하여 페이징을 해보도록 하자.
Page를 넘기면 Page로 리턴받음. 그래서 getContent라고 하면 List로 받을 수 있다.

localhost:8000/dummy/user 를 입력하면 이와 같이 나온다.

	@GetMapping("/dummy/user")
	public Page<User> pageList(@PageableDefault(size=1, sort="id", direction = Sort.Direction.ASC) Pageable pageable){
		Page<User> pagingUser = userRepository.findAll(pageable);

		List<User> users = pagingUser.getContent();
		return pagingUser;
	}

하지만 List가 아닌 Page로 설정하고 pagingUser을 리턴하면 어떻게 나올까?

다음과 같이 나온다.

우리는 리스트가 아니지라 페이지를 넘겨보자. 그래야 pagable 값들을 가져올 수 있기 때문이다. 이 값을 통해 첫번째 페이지인지 마지막 페이지인지를 알 수 있다.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
	pageEncoding="EUC-KR"%>

<%@ include file="layout/header.jsp"%>

<div class="container">

	<c:forEach var="board" items="${boards.content}">
		<div class="card m-2">
			<div class="card-body">
				<h4 class="card-title">${board.title}</h4>
				<a href="#" class="btn btn-primary">상세보기</a>
			</div>
		</div>
	</c:forEach>

</div>
<%@ include file="layout/footer.jsp"%>

boards.content 컨텐트를 적어줘야 오류가 나지 않을 것이다.

http://localhost:8000/?page=0
http://localhost:8000/?page=1
http://localhost:8000/?page=2

에 따라 최신 글 목록을 확인할 수 있다.

justify-content-center css 속성 중 가운데로 옮겨줌...(flex 기반일 때)

완료!!!

-이 글은 유투버 겟인데어의 스프링 부트 강좌를 바탕으로 정리한 내용입니다.-

profile
Step by step goes a long way ✨

0개의 댓글