• Home
  • About
    • on Weekend photo

      on Weekend

      ๐™Ž๐™ฉ๐™ช๐™™๐™ฎ๐™ž๐™ฃ๐™œ

    • Learn More
    • Instagram
    • Github
  • Archive
    • All Posts
    • All Tags
    • All Categories
  • Categories
    • Problem Solving
    • TIL
    • Study
    • Etc
    • ํ•„์‚ฌ
  • Projects

Spring Study - 5

15 Dec 2020

5. ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ - ์›น MVC ๊ฐœ๋ฐœ

๋ชฉ์ฐจ

  1. ํšŒ์› ์›น ๊ธฐ๋Šฅ - ํ™ˆ ํ™”๋ฉด ์ถ”๊ฐ€
  2. ํšŒ์› ์›น ๊ธฐ๋Šฅ - ๋“ฑ๋ก
  3. ํšŒ์› ์›น ๊ธฐ๋Šฅ - ์กฐํšŒ

์ˆ˜๊ฐ• ์ฝ”์Šค๋Š” ์ธํ”„๋Ÿฐ ์Šคํ”„๋ง ์ž…๋ฌธ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


ํšŒ์› ์›น ๊ธฐ๋Šฅ - ํ™ˆ ํ™”๋ฉด ์ถ”๊ฐ€

  • 8080 ์š”์ฒญ -> HomeController๋ฅผ ๋จผ์ € ์ฝ๊ณ  -> home.html๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. (์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ •์  ํŒŒ์ผ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๊ธฐ ๋•Œ๋ฌธ)

ํšŒ์› ์›น ๊ธฐ๋Šฅ - ๋“ฑ๋ก

@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:/";
}
  • members/new์—์„œ url์— ์ง์ ‘ ์น˜๋Š”๊ฑธ GET๋ฐฉ์‹์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, GET๋ฐฉ์‹์œผ๋กœ ๋“ค์–ด์™€์„œ createForm() ๋ฉ”์†Œ๋“œ๋กœ ๋„˜์–ด๊ฐ€๊ณ  members/createMemberForm์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ์ดํ›„ createMemberForm.html์„ ๋ทฐ ๋ฆฌ์กธ๋ฒ„๊ฐ€ ์—ด์–ด์ฃผ๊ณ ? ๊ทธ ์•ˆ์—์„œ form ํƒœ๊ทธ๋กœ ๋‚ด์šฉ์„ ๋ฐ›์•„์คŒ! name์œผ๋กœ ์„œ๋ฒ„๋กœ ๋„˜์–ด์˜ค๋Š” ํ‚ค๊ฐ€ ๋˜๊ณ , post๋ฐฉ์‹์œผ๋กœ ๋„˜์–ด์™€์„œ PostMapping์œผ๋กœ ๋„˜์–ด์™€ ๋ฐ›์•„์„œ create ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ MemberForm์˜ name์œผ๋กœ ๋‚ด์šฉ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ form์—์„œ getName์œผ๋กœ ๊บผ๋‚ด์„œ setNameํ•ด์ค€๊ฑฐ.
  • ํ™•์ธํ•ด์ฃผ๋ ค๋ฉด create ๋ฉ”์†Œ๋“œ์—์„œ System.out.println(โ€œmember = โ€œ + member.getName()); ์œผ๋กœ ๋„์›Œ์ฃผ๋ฉด ๋œ๋‹ค.

ํšŒ์› ์›น ๊ธฐ๋Šฅ - ์กฐํšŒ

<tr th:each="member : ${members}">
    <td th:text="${member.id}"></td>
    <td th:text="${member.name}"></td>
</tr>
  • foreach์ฒ˜๋Ÿผ ํƒ€์ž„๋ฆฌํ”„์—์„œ ์ €๋ ‡๊ฒŒ ๊ฐ’์„ ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„์™€ ์ถœ๋ ฅํ•ด์ฃผ๊ฒŒ ๋œ๋‹ค! $์ด ์•ž์— ๋ถ™์œผ๋ฉด ๋„˜์–ด์˜จ model์ด ๊ฐ€์ง„ ๋ณ€์ˆ˜๊ฐ’.
  • ์ง€๊ธˆ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฆฌํŒŒ์ง€ํ† ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ป๋‹ค ํ‚ค๋ฉด ์ €์žฅ๋œ ๋‚ด์šฉ์ด ์‹น ์‚ฌ๋ผ์ง€๋Š” ์ƒํƒœ์ด๋ฏ€๋กœ, DB์— ์—ฐ๊ฒฐ์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.


springbackend Share Tweet +1