본문 바로가기
Spring Tutorial

[Spring 입문7] 웹 MVC 개발: 회원 웹 기능- 등록

by 미소5 2024. 7. 21.

[Spring 입문 6] 웹 MVC 개발: 회원 웹 기능- 홈 (tistory.com)

 

[Spring 입문 6] 웹 MVC 개발: 회원 웹 기능- 홈

회원 웹 기능 - 홈 화면package hello.hellospring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") public String home() { r

joly156.tistory.com

[Spring 입문 8] 웹 MVC 개발: 회원 웹 기능- 조회 (tistory.com)

 

[Spring 입문 8] 웹 MVC 개발: 회원 웹 기능- 조회

MemberController에 list추가/** 조회 기능*/@GetMapping("/members")public String list(Model model) { List members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList";} memberList.html # 이름 ..

joly156.tistory.com

 


  • MemberController에 createForm추가
/** 회원 등록 폼*/
@GetMapping("/members/new")
public String createForm() {
    return "members/createMemberForm";
}

  • createMemberForm.html
    • 위치:  resources/templates/ members/ createMemberForm.html
<!--회원 등록 폼-->
<!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>
  • <input type="text" id="name" name="name" placeholder="이름을 입력하세요">
    • "name"이 서버(MemberForm)로 넘어간다!

회원등록폼

 

 


  • 회원등록컨트롤러
/** 웹 등록 화면에서 데이터를 전달 받을 폼 객체*/

public class MemberForm {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
  • 회원등록폼에 입력한 이름이 name의 값

  • MemberController에 create추가
/** 회원을 등록하는 기능*/
@PostMapping("/members/new")
public String create(MemberForm form) {
    Member member = new Member();
    member.setName(form.getName());
    
    memberService.join(member);
    return "redirect:/";  //홈화면으로
}
  • 데이터를 조회할 땐 GetMapping을, 데이터를 등록(전달)할 땐 PostMapping을 쓴다.

 


createMemberForm button 선택 시

form action="/members/new" method="post"

 

MemberControllercreate 로 전달된다.  

@PostMapping("/members/new")

MemberController create 호출

@PostMapping("/members/new")
public String create(MemberForm form) {
    Member member = new Member();
    member.setName(form.getName()); //createMemberForm.html에 input된 name
    memberService.join(member);
    return "redirect:/";  //홈화면으로
}

createMemberForm 에 입력된 이름으로 회원을 등록한다.

 


  • 회원등록폼에 입력한 이름을 출력해보자.
System.out.println("member= "+member.getName());

 

 

 

728x90
반응형