홈 화면 추가
HomeController부터 만들어보았다.
return "home"을 하면 이 home이 template에 있는 home.html과 연결된다.
등록 화면 추가
회원 등록은 MemberController에서 작업해줄 것이다.
get방식으로 mapping된 애는 createMemberForm.html과 연결돼서 거기서 회원가입 form을 볼 수 있다.
유저가 form을 다 작성했다면 그런 개인정보들은 post 방식으로 받아서 다시 home화면으로 redirect된다.
앞서 post방식에서 회원등록을 할 때 MemberForm을 받아오는데 그 MemberForm을 만들어볼 것이다. 얘도 컨트롤러이고 회원등록을 하는 컨트롤러이다.
getMapping에서 createMemberForm으로 리턴해준 html파일이다. 여기서 중요한 것은 input의 name 속성이다. name 속성은 폼(form)이 제출된 후 서버에서 폼 데이터(form data)를 참조하기 위해 사용되거나, 자바스크립트에서 요소를 참조하기 위해 사용한다고 한다.
name을 통해 이 form의 데이터가 앞서 만들었던 MemberForm의 name 변수로 들어간다.
조회 화면 추가
MemberController에 회원조회를 할 수 있는 메서드를 만들었다. 얘는 memberList.html파일과 연결된다.
여기서 model.addAttribute를 통해 "members"에 members리스트를 담고
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
|
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
</head>
<body class="container">
<div>
<table>
<thead>
<tr>
<th>#</th>
<th>이름</th>
</tr>
<tbody>
<tr th:each="member :${members}">
<td th:text="${member.id}"></td>
<td th:text="${member.name}"></td>
</tr>
</tbody>
</thead>
</table>
</div>
</body>
</html>
|
cs |
이 html파일에 ${members}에 members 리스트가 들어간다.
th:each는 Thymeleaf 문법인데 members 리스트의 값들을 for-each로 순회하는 것이다.
'Springboot > lecture' 카테고리의 다른 글
[jdbc] Row Mapper란 ?? (0) | 2022.08.06 |
---|---|
[springboot] 기본적인 개념정리 (0) | 2022.08.05 |
[springboot] 스프링 빈과 의존관계 (0) | 2022.08.02 |
[springboot] 회원 서비스 개발 (0) | 2022.08.01 |
[spring] 테스트 코드 작성하는 방법 (0) | 2022.07.26 |