Spring/스프링 입문 - 스프링 부트, 웹 MVC, DB 접근 기술

13. 회원 웹 기능 - 조회 | th : each =" " | ${ } → Model 안에 있는 Data를 꺼내는것

DEV-HJ 2023. 3. 5. 20:26
반응형

memberList.html

th : each =" "  타임리프 문법. 자바의 forEach 같음 

${ } → Model 안에 있는 Data를 꺼내는것 

<!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>

 


MemberController.java

package hello.hellospring.controller;

import hello.hellospring.domain.Member;
import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

@Controller
public class MemberController {

    private final MemberService memberService;

    @Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }

    @GetMapping("/members/new")
    public String createFrom(){
        return "members/createMemberForm";
    }

    @PostMapping("/members/new")
    public String create(MemberForm form){
        Member member = new Member();
        member.setName(form.getName());

        memberService.join(member);
        return "redirect:/";
    }

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

}
반응형