회원 등록 폼 개발


회원 등록 폼 컨트롤러



@Controller
public class MemberController {

    private final MemberService memberService;

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

    @GetMapping(value = "/members/new")
    public String createForm() {
        return "members/createMemberForm";
    }
    
}

회원 등록 폼 HTML ( resources/templates/members/createMemberForm )


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

<div class="container">
    <form action="/members/new" method="post">
        <div class="form-group">
            <label for="name">이름</label>
            <input type="text" id="name" name="name" placeholder="이름을 입력하세요">
        </div>
        <button type="submit">등록</button>
    </form>
</div> <!-- /container -->
</body>
</html>

회원 등록 컨트롤러


웹 등록 화면에서 데이터를 전달 받을 폼 객체


package hello.hellospring.controller;

public class MemberForm {
    
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

회원 컨트롤러에서 회원을 실제 등록하는 기능


@PostMapping(value = "/members/new")
public String create(MemberForm form) {

    Member member = new Member();
    member.setName(form.getName());
    
    memberService.join(member);
    
    return "redirect:/";
}