thymeleaf 템플릿 엔진으로 view 띄우기

728x90
@GetMapping("/members")
    public String list(Model model){
        List<Member> members = mebmerService.findMembers();
        model.addAttribute("members", members);
        return "members/memberList";
    }

 

/members 로 접근하게 되면 list 함수가 동작한다.

먼저 Member형 리스트를 생성하고 그 리스트에 이름은 members 이다. 여기에 memberService에 있는 모든 이름을 찾는 findMembers() 메소드를 실행한 값을 넣는다. 그 후 members 라는 이름으로 리스트 members를 모델로 만들어 준다. 

그럼 이제 memebers/memberList 에 html을 찾아 간다.

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<body>

<div class="container">
    <div>
        <table>
            <thead>
            <tr>
                <th>#</th>
                <th>이름</th>
            </tr>
            </thead>
            <tbody>
            <tr th:each="member : ${members}">
                <td th:text="${member.id}"></td>
                <td th:text="${member.name}"></td>
            </tr>
            </tbody>
        </table>
    </div>
</div><!-- /container -->

</body>
</html>

여기서 th:each 는 반복문이다. ${members} 만큼 반복하라는 얘기다. 리스트 만큼 반복하라는 이야기다.

th:text는 text를 뿌리는 것이다. ${member.id} ${member.name}을 member 도메인에 get으로 접근해서 데이터를 가져온다. 

반응형

'Back-End > Spring(Boot)' 카테고리의 다른 글

spring mvc 5 pom.xml 버전관리  (0) 2021.03.04
스프링 통합 테스트  (0) 2020.12.26
Spring Form 데이터 전송  (0) 2020.12.26
스프링 GetMapping , PostMapping  (0) 2020.12.26
포트 사용 중일 때  (0) 2020.12.26