점프 투 스프링부트 댓글 페이징 구현 질문

안녕하세요. 질문있습니다!

답변 페이징 구현하려고 아래와 같이 수정을 했는데요
Pageable pageable = PageRequest.of(page, 5) 값을 줬는데도 5개가 아닌 전체가 출력이되네요.

어느부분을 손봐야 될까요 ?

아래는 코드 내용입니다.

AnswerRepository 추가

public interface AnswerRepository extends JpaRepository <Answer, Integer>{
    Page<Answer> findAllByQuestion(Question question, Pageable pageable);
}

AnswerService 추가

public Page<Answer> getList(Question question, int page){
    List<Sort.Order> sorts = new ArrayList<>();
    sorts.add(Sort.Order.desc("createDate"));

    Pageable pageable = PageRequest.of(page, 5);
    return this.answerRepository.findAllByQuestion(question, pageable);
}

QuestionController 수정

    @GetMapping(value = "/detail/{id}")
    public String detail(Model model, @PathVariable("id") Integer id, AnswerForm answerForm,
            @RequestParam(value="page", defaultValue="0") int page) {

        /*댓글페이징*/
        Question question = this.questionService.getQuestion(id);   //QuestionService의 getQuestion 메서드를 호출하여 Question 객체를 템플릿에 전달

        Page<Answer> paging = this.answerService.getList(question, page);


        model.addAttribute("question", question);
        model.addAttribute("paging", paging);

        /*이전글다음글번호와 제목을 html에서 불러올수있게 model.addAttribute() 작성*/
        QuestionPage questionPage = questionPageRepository.findByPages(id);
        model.addAttribute("prevID", questionPage.getPREVID());
        model.addAttribute("prevSub", questionPage.getPREV_SUB());
        model.addAttribute("nextID", questionPage.getNEXTID());
        model.addAttribute("nextSub", questionPage.getNEXT_SUB());

        return "question_detail";
    }

question_detail.html 페이징 추가

~
<!--답변 반복 끝-->


<!-- 답변 페이징처리 시작 -->
<div th:if="${!paging.isEmpty()}">
    <ul class="pagination justify-content-center">
        <li class="page-item" th:classappend="${!paging.hasPrevious} ? 'disabled'">
            <a class="page-link"
               th:href="@{|?page=${paging.number-1}|}">
                <span>이전</span>
            </a>
        </li>
        <li th:each="page: ${#numbers.sequence(0, paging.totalPages-1)}"
            th:if="${page >= paging.number-5 and page <= paging.number+5}"
            th:classappend="${page == paging.number} ? 'active'"
            class="page-item">
            <a th:text="${page}" class="page-link" th:href="@{|?page=${page}|}"></a>
        </li>
        <li class="page-item" th:classappend="${!paging.hasNext} ? 'disabled'">
            <a class="page-link" th:href="@{|?page=${paging.number+1}|}">
                <span>다음</span>
            </a>
        </li>
    </ul>
</div>
<!-- 페이징처리 끝 -->



<!--답변 작성-->
<form th:action="@{|/answer/create/${question.id}|}"
 ~

kurosaki 439

2023년 2월 7일 4:54 오후

+1 question_detail.html 의 답변 반복부분이 안 보이네요. 거기서 paging 객체를 사용했는지 확인해 보세요. - 박응용님, 2023년 2월 7일 7:28 오후 추천 , 대댓글
@박응용님 답변 반복시작 부분에서 <div class="card my-3" th:each="answer : ${question.answerList}">을 <div class="card my-3" th:each="answer : ${paging}"> 로 수정하니까 구현이 잘되네요 ! 해결 되었어요 ! 감사합니다. - kurosaki님, 2023년 2월 8일 3:34 오후 추천 , 대댓글
목록으로