package org.example.springstudy.controller;
import org.springframework.ui.Model;
import lombok.RequiredArgsConstructor;
import org.example.springstudy.domain.Member;
import org.springframework.stereotype.Controller;
import org.example.springstudy.service.Memberservice;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
@Controller
@RequiredArgsConstructor
public class MemberController {
private final 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:/";
}
@GetMapping("/members")
public String list(Model model) {
List<Member> members = memberservice.findMembers();
model.addAttribute("members", members);
return "/members/list";
}
}
addAttribute 는
1️⃣ 사용자가 /greeting URL로 접속하면 이 메서드가 실행됨.
2️⃣ model.addAttribute("message", "안녕하세요, Spring!"); → "message"라는 키로 데이터를 저장.
3️⃣ "greeting"을 반환하면, Spring Boot가 src/main/resources/templates/greeting.html 파일을 찾아서 보여준다.
4️⃣ greeting.html에서 message 값을 표시할 수 있음.
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
<div>
<table>
<thead>
<tr>
<th>#</th>
<th>이름</th> </tr>
</thead>
<tbody>
<tr th:each="member : ${members}">
<td th:text="${member.id}"></td>
<td th:text="${member.name}"></td>
</tr>
</tbody>
</table>
</div>
</div> <!-- /container -->
</body>
</html> ```
text = {member.id} 라는 값으로 값을 저장한다
member을 list 로 모든 값을 저장한다.
루프를 돌면서,
<tr th:each="member : ${members}">
<td th:text="${member.id}"></td>
<td th:text="${member.name}"></td>
해당 코드를 계속해서 실행한다.
memder 리스트에 id 와 name을 출력한다.
<!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>
회원가입할때 id = name, name = name 에 저장하게 해둠
'Spring' 카테고리의 다른 글
[Spring] Spring으로 변환하기 (0) | 2025.03.23 |
---|---|
[Spring] 주문과 할인 도메인 설계 (0) | 2025.03.16 |
[Spring] 회원게시판 만들어보기 (1) | 2025.03.02 |
[Spring] 웹 기초 (0) | 2025.03.01 |