개발 수업/Spring Boot

[SpringBoot] 목록조회, 상세조회

오늘 하루s 2023. 8. 24. 23:26
728x90
더보기

Day81. 230824

QuestionController>

QuestionService를 @Autowired했던 것을 제거하고 리턴유형을 final로 바꾼다.

@RequiredArgsConstructor어노테이션 추가하면 이전과 동일하게 작동한다.

@RequiredArgsConstructor은 외부에서 final로 선언한 참조 변수가 있다면 객체를 자동으로 초기화시켜준다.

 

 

QuestionService>

서비스 클래스도 마찬가지로 @Autiwired제거 후 final 선언 후 @RequiredArgsConstructor어노테이션 추가해준다.

 

 

question_list.html>

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>question_list</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css"
          href="/css/style.css" th:href="@{/css/style.css}" />
</head>
<body>
    <p>question_list.html문서</p>
    <h1>question list</h1>

    <table border="1">
        <tr>
            <th>번호</th>
            <th>제목</th>
            <!--<th>내용</th>-->
            <th>질문등록일</th>
        </tr>
        <tr th:each="question : ${questionList}">
            <td th:text="${question.id}"></td>
            <!--<td><a href="/question/detail?id=${question.id}" th:text="${question.subject}"></a></td>-->
            <td>
                <!-- th:href속성에서 주소를 나타낼때에는 반드시 @{}을 이용
                    @{URL}
                    주의 : URL이 조합되어질때에는 @{||} 작성해야한다. -->
                <a href="/question/detail/${question.id}"
                   th:href="@{|/question/detail/${question.id}|}"
                   th:text="${question.subject}"></a>
            </td>
            <!--<td th:text="${question.content}"></td>-->
            <td th:text="${question.createDate}"></td>
        </tr>
    </table>

    <p>
        <a href="/" th:href="@{/}">Return to home</a>
    </p>
</body>
</html>

Thymeleaf를 사용해 작성해주었다.

 

컨트롤러에 상세조회를 추가해준다.

 

question_detail.html>

 

그러면 다음과 같이 목록이 출력된다.

8번에 마우스를 올리면  왼쪽 처럼 주소가 나온다.

 

상세조회도 가능하다.

 

 

 

 

 

728x90