Spring/실습 정리

Spring Boot 14강 - 상세 페이지에서 답변(댓글) 목록 출력하기

코딩하는냥이 2025. 7. 2. 14:46
반응형

질문 상세 페이지에서는
질문 정보뿐 아니라 달린 답변(댓글) 목록도 함께 보여줘야 합니다.
이번 강의에서는 답변의 개수를 표시하고,
반복문으로 각 답변 내용을 리스트로 출력하는 방법을 다룹니다.


📌 예제 코드 (question_detail.html)

<br>
<h1 th:text="${question.subject}"></h1>
<hr>
<br>
<div th:text="${question.content}"></div>
<br>
<br>
<br>
<h5 th:text="|${#lists.size(question.answerList)}개의 댓글이 있습니다.|"></h5>
<hr>
<div>
    <ul>
        <li th:each="answer : ${question.answerList}" th:text="${answer.content}"></li>
    </ul>
</div>
<form th:action="@{|/answer/create/${question.id}|}" method="post">
    <textarea rows="3" cols="80" name="content" id="content"></textarea>
    <input type="submit" value="답글 등록">
</form>

💬 코드 설명

  • th:text="${question.subject}", th:text="${question.content}"
    : 질문 제목과 본문을 출력합니다.
  • th:text="|${#lists.size(question.answerList)}개의 댓글이 있습니다.|"
    : 현재 질문에 달린 답변(댓글) 개수를 동적으로 표시합니다.
    (예: "3개의 댓글이 있습니다.")
  • th:each="answer : ${question.answerList}"
    : question 객체에 연결된 answerList(답변 목록)를 반복해서
    각 답변의 내용을 리스트 항목으로 출력합니다.
  • 답글 등록 폼(form)
    : 이전 강의와 마찬가지로,
    새로운 답글을 작성하여 서버로 전송하는 역할을 합니다.

💡포인트 정리

  • 답변 리스트는 question.answerList로 연결되어 출력됩니다.
  • #lists.size()를 활용해
    답변(댓글) 개수를 동적으로 표시할 수 있다.
  • Thymeleaf의 반복문으로
    여러 개의 답변도 간단하게 출력 가능하다.
  • 답변 입력 폼은
    항상 하단에 위치시켜 사용성도 챙길 수 있다.

📌정리하자면, 상세 페이지에서 답변(댓글) 개수와 리스트를 함께 출력하는 방법을 다뤘습니다.
질문에 달린 답글이 자동으로 표시되므로
사용자가 남긴 피드백이나 추가 정보를
한눈에 확인할 수 있습니다.