1. 회원 웹 기능 - 홈 화면 추가
간단한 홈 화면 관련 컨트롤러를 생성한다.
@Controller
public class HomeController {
@GetMapping("/")
public String home(){
return "home";
}
}
Java
복사
home.html도 만들어주고
2. 회원 웹 기능 - 등록
회원 가입가는 /members/new 주소로 보내기 위해서 컨트롤러에 이동할 수 있게 @GetMapping 추가
@GetMapping("/members/new")
public String createForm(){
return "members/createMemberForm";
}
Java
복사
리턴되는 createMemberForm.html로 화면을 이동시켜준다.
회원 가입 페이지로 가면
createMemberForm.html에 form 태그가 있는데
form 태그는 값을 입력 할 수 있는 태그다.
<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>
HTML
복사
이름을 받을 수 있는 MemberForm.java 파일을 만들어준다
public class MemberForm {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Java
복사
그리고 회원가입이 되도록
@PostMapping("/members/new")
public String create(MemberForm form){
Member member = new Member();
member.setName(form.getName());
memberService.join(member);
return "redirect:/";
}
Java
복사
MemberForm 매개변수에 html의 form 태그의 input 태그에서
<input type="text" id="name" name="name" placeholder="이름을 입력하세요">
HTML
복사
name="name" 의 name이 MemberForm의 name하고 맵핑되면서 들어오게 된다.
등록 누르면 메인화면으로 돌아온다.
등록됐는지 볼려면 회원 목록을 만들어서 확인해줘야한다.
3. 회원 웹 기능 - 조회
이제 조회하는 기능을 추가할건데
컨트롤러에
@GetMapping("/members")
public String list(Model model){
List<Member> memvers = memberService.findMember();
model.addAttribute("members",memvers);
return "members/memberList";
}
Java
복사
memberService.findMember();
Java
복사
를 쓰면 멤버를 다 갖고온다.
Command + E 누르면 최근 본 파일 목록창이 뜬다
memberList.html을 생성해주고
<tr th:each="member : ${members}">
<td th:text="${member.id}"></td>
<td th:text="${member.name}"></td>
</tr>
Java
복사
템플릿 엔진을 사용해서 members 객체를 for문 돌돗이 돌려서 데이터를 넣어서 반복해준다.
서버를 켜서 회원등록을 2번해주고 조회화면으로 가면