MemberController
-추가
public String createForm()
public String create(MemberForm form)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class Membercontroller {
private final MemberService memberService;
@Autowired
//Di = 디펜더시 인젝션
public Membercontroller(MemberService memberService){
this.memberService = memberService;
}
//추가 @GetMapping("/members/new") //home.html 에있는 회원 가입
public String createForm(){
return "/members/createMemberForm";
}
@PostMapping("/members/new")
public String create(MemberForm form){
Member member = new Member();
member.setName(form.getName());
memberService.join(member);
return "redirect:/";
}
}
|
cs |
|
|
추가
templates/members/createMemberForm.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<!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>
|
cs |
이름 이라는 키값과
TestName 는 value 값이 스프링 서버로 넘어가게 된다.
-설명
createForm() 가 맵핑이 되고 /members/createMemberForm" 으로 이동
template/members/createMemberForm.html 이 작동
ViewResolver 를 통해서 timeleaf 템플릿 엔진에 렌더링을 한다.
createMemberForm.html 자세히보면
method="post" 가 있는데
Membercontroller 에 있는 @PostMapping("/members/new")
전달해서 함수를 작동한다.
(기본적으로 url 창에 엔터를 치는 것은 그냥 Get 맵핑 이다.)
포스트맵핑은 보통 데이터를 폼 같은데 넣어서 전달할 때 포스트를 사용.
Get은 조회를 할 때 주로 사용
'프로그래밍 > SpringMVC_기초' 카테고리의 다른 글
회원관리 예제 - 10(H2 데이터베이스 설치) (0) | 2023.10.23 |
---|---|
회원관리 예제 9 - (회원 웹 기능 조회) (1) | 2023.10.22 |
회원관리 예제 - 7 (홈화면 추가하기) (1) | 2023.10.22 |
회원관리 예제-6(자바 코드로 직접 스프링 빈 등록하기) (필드 주입, setter 주입, 생성자 주입) (0) | 2023.10.22 |
회원관리 예제 - 5(컴포넌트 스캔과 자동 의존관계 설정) (어노테이션,싱글톤) (1) | 2023.10.18 |