회원 등록 폼 컨트롤러 생성
@Controller
public class MemberController {
// private final MemberService memberService = new MemberService();
private final MemberService memberService;
//컨트롤러와 서비스를 연결
@Autowired
public MemberController(MemberService memberService) {
this.memberService = memberService;
}
@GetMapping("/members/new")
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:/";
}
./templates/members/createMemberForm.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
<!-- 폼태그를 사용해서 입력받은 값을 name으로 전달한다. -->
<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>
ㄴ 폼태그(중요!)
GetMapping 과 PostMapping
- GetMapping은 주로 조회하는 기능에서 사용.
- PostMapping은 html에서 method가 Post일때 해당 폼에서 원하는 value값을 인수로받아온다. (데이터를 받아올 때 사용.)
- 같은 URL을 가지고 있어도 get인지 post인지에 따라 서로 다른 역할을 수행하게 됨
'Back End > Spring' 카테고리의 다른 글
Spring - DB접근1 (h2) (0) | 2023.07.04 |
---|---|
Spring - 웹 MVC 예제 (회원 조회) (0) | 2023.07.04 |
Spring - 웹MVC 예제 (홈화면 추가) (0) | 2023.07.04 |
Spring - 스프링빈과의 의존관계2 (0) | 2023.07.04 |
Spring - 스프링 빈과 의존관계1 (0) | 2023.07.04 |