Home
>
Spring
>
π[Spring] Spring MVCμμ `Model` κ°μ²΄.
Spring
Framework
π[Spring] Spring MVCμμ Model
κ°μ²΄.
1οΈβ£ Model
κ°μ²΄.
- Spring MVCμμ
Model
κ°μ²΄λ 컨νΈλ‘€λ¬μ λ·° μ¬μ΄μμ λ°μ΄ν°λ₯Ό μ λ¬νλ μν μ ν©λλ€.
- 컨νΈλ‘€λ¬μμ μμ±λ λ°μ΄ν°λ₯Ό
Model
κ°μ²΄μ λ΄μλλ©΄, μ΄ λ°μ΄ν°λ λ·° ν
νλ¦Ώ(μ: Thymeleaf, JSP)μμ μ¬μ©λ μ μμ΅λλ€.
-
Model
κ°μ²΄λ μμ²μ λν μλ΅μΌλ‘ μ΄λ€ λ°μ΄ν°λ₯Ό λ·°λ‘ λ³΄λ΄μΌ νλμ§ κ²°μ νλ λ° μ¬μ©λ©λλ€.
2οΈβ£ Model
κ°μ²΄μ μ£Όμ κΈ°λ₯.
-
1. λ°μ΄ν° μ μ₯ λ° μ λ¬.
-
Model
κ°μ²΄μ λ°μ΄ν°λ₯Ό μ μ₯νλ©΄, ν΄λΉ λ°μ΄ν°λ λ·°μ μ λ¬λμ΄ ν΄λΌμ΄μΈνΈμκ² νμλ©λλ€.
- μλ₯Ό λ€μ΄, μ¬μ©μμ μ΄λ¦μ΄λ 리μ€νΈμ κ°μ λ°μ΄ν°λ₯Ό λ·°μ μ λ¬ν μ μμ΅λλ€.
-
2. ν€-κ° μ ννλ‘ λ°μ΄ν° κ΄λ¦¬.
-
Model
κ°μ²΄λ λ°μ΄ν°λ₯Ό ν€-κ° μ ννλ‘ κ΄λ¦¬ν©λλ€.
- λ·°μμ μ΄ λ°μ΄ν°λ₯Ό μ¬μ©ν λλ ν€λ₯Ό ν΅ν΄ μ κ·Όν©λλ€.
-
3. λ·° ν
νλ¦Ώμμ λ°μ΄ν° μ¬μ©.
-
Model
μ μΆκ°λ λ°μ΄ν°λ λ·° ν
νλ¦Ώμμ λ³μλ‘ μ¬μ©λ©λλ€.
- λ·° ν
νλ¦Ώ μμ§(μ: Thymeleaf, JSP)μ μ΄ λ°μ΄ν°λ₯Ό μ΄μ©ν΄ λμ μΈ HTMLμ μμ±νκ³ , μ΄λ₯Ό ν΄λΌμ΄μΈνΈμκ² λ°νν©λλ€.
3οΈβ£ Model
κ°μ²΄μ μ¬μ© μ.
@Controller
public class GreetingController {
@GetMapping("/greeting")
public String greeting(Model model) {
model.addAttribute("name", "John");
model.addAttribute("message", "Hello welcome to our website!");
// "greeting"μ΄λΌλ λ·° μ΄λ¦μ λ°ν
return "greeting";
}
}
- μ μμ μμ
greeting()
λ©μλλ Model
κ°μ²΄μ "name"
κ³Ό "message"
λΌλ λ κ°μ§ λ°μ΄ν°λ₯Ό μΆκ°ν©λλ€.
- μ΄ λ°μ΄ν°λ λ·° μ΄λ¦
"greeting"
μ μ λ¬λλ©°, ν΄λΉ λ·° ν
νλ¦Ώμμ μ¬μ©λ μ μμ΅λλ€.
4οΈβ£ λ·° ν
νλ¦Ώμμμ μ¬μ©(Thymeleaf)
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Greeting Page</title>
</head>
<body>
<h1 th:text="${message}">Default Message</h1>
<p>Hello, <span th:text="${name}">User</span>!</p>
</body>
- μ΄ Thymeleaf ν
νλ¦Ώμμ
${message}
μ ${name}
μ Model
κ°μ²΄μ λ΄κΈ΄ λ°μ΄ν°λ₯Ό μ¬μ©ν΄ λμ μΌλ‘ μ½ν
μΈ λ₯Ό μμ±ν©λλ€.
- 컨νΈλ‘€λ¬μμ
Model
μ μΆκ°λ "Hello, welcome to our website!"
μ "John"
μ΄ λ·°μ λ λλ§λ©λλ€.
5οΈβ£ Model
, ModelMap
, ModelAndView
- Spring MVCμμ
Model
μΈμλ ModelMap
κ³Ό ModelAndView
λΌλ μ μ¬ν κ°μ²΄λ€μ΄ μμ΅λλ€.
-
Model : κ°λ¨ν μΈν°νμ΄μ€λ‘, λ°μ΄ν° μ μ₯ λ° μ λ¬μ μν κ°μ₯ κΈ°λ³Έμ μΈ λ°©λ²μ μ 곡ν©λλ€.
-
ModelMap :
Model
μ ꡬν체λ‘, λ°μ΄ν°λ₯Ό 맡 νμμΌλ‘ κ΄λ¦¬ν©λλ€.
-
ModelAndView : λͺ¨λΈ λ°μ΄ν°μ λ·° μ΄λ¦μ ν¨κ» λ°νν λ μ¬μ©λ©λλ€. ν λ²μ λͺ¨λΈκ³Ό λ·° μ 보λ₯Ό λͺ¨λ μ€μ ν μ μμ΅λλ€.
6οΈβ£ μμ½.
-
Model
κ°μ²΄λ Spring MVCμμ 컨νΈλ‘€λ¬κ° λ·°μ λ°μ΄ν°λ₯Ό μ λ¬νλ λ° μ¬μ©λλ μ€μν κ΅¬μ± μμμ
λλ€.
- μ΄λ₯Ό ν΅ν΄ λμ μΈ μΉ νμ΄μ§λ₯Ό μ½κ² μμ±ν μ μμΌλ©°, μ ν리μΌμ΄μ
μ μλ΅ κ²°κ³Όλ₯Ό ν΄λΌμ΄μΈνΈμκ² ν¨κ³Όμ μΌλ‘ μ λ¬ν μ μμ΅λλ€.