반응형
질문 상세 페이지에서는
질문 정보뿐 아니라 달린 답변(댓글) 목록도 함께 보여줘야 합니다.
이번 강의에서는 답변의 개수를 표시하고,
반복문으로 각 답변 내용을 리스트로 출력하는 방법을 다룹니다.
📌 예제 코드 (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의 반복문으로
여러 개의 답변도 간단하게 출력 가능하다. - 답변 입력 폼은
항상 하단에 위치시켜 사용성도 챙길 수 있다.
📌정리하자면, 상세 페이지에서 답변(댓글) 개수와 리스트를 함께 출력하는 방법을 다뤘습니다.
질문에 달린 답글이 자동으로 표시되므로
사용자가 남긴 피드백이나 추가 정보를
한눈에 확인할 수 있습니다.
'Spring > 실습 정리' 카테고리의 다른 글
Spring Boot 17강 - 질문 등록(글쓰기) 기능 구현하기 (1) | 2025.07.03 |
---|---|
Spring Boot 16강 - Bootstrap 카드 레이아웃으로 질문 상세/댓글 화면 꾸미기 (0) | 2025.07.03 |
Spring Boot 15강 - Thymeleaf 레이아웃과 Bootstrap으로 게시판 화면 꾸미기 (1) | 2025.07.03 |
Spring Boot 13강 - 답변 등록 로직 구현하기 (1) | 2025.07.02 |
Spring Boot 12강 - 상세 페이지에서 질문 내용 출력과 답글 작성 폼 만들기 (0) | 2025.07.02 |
Spring Boot 11강 - 상세 페이지 구현과 NotFound 예외 처리 (0) | 2025.07.02 |