Home
>
Spring
>
π[Spring] `.addAttribute()` λ©μλ.
Spring
Framework
π[Spring] .addAttribute()
λ©μλ.
1οΈβ£ .addAttribute()
λ©μλ.
.addAttribute()
λ Spring MVCμμ Model
λλ ModelMap
κ°μ²΄μ λ©μλλ‘, 컨νΈλ‘€λ¬μμ λ·°λ‘ μ λ¬ν λ°μ΄ν°λ₯Ό μΆκ°νλ λ° μ¬μ©λ©λλ€.
μ΄ λ©μλλ₯Ό μ¬μ©νμ¬ μ»¨νΈλ‘€λ¬κ° μ²λ¦¬ν κ²°κ³Όλ₯Ό λ·°μ μ λ¬νκ³ , λ·°λ μ΄ λ°μ΄ν°λ₯Ό μ¬μ©ν΄ λμ μΌλ‘ μ½ν
μΈ λ₯Ό λ λλ§ν©λλ€.
2οΈβ£ μ£Όμ κΈ°λ₯.
λͺ¨λΈμ λ°μ΄ν° μΆκ°
addAttribute()
λ₯Ό μ¬μ©νμ¬ ν€-κ° μ ννλ‘ λ°μ΄ν°λ₯Ό λͺ¨λΈμ μΆκ°ν©λλ€.
μ΄ λ°μ΄ν°λ μ΄ν λ·°μμ μ¬μ©λ μ μμ΅λλ€.
λ·° λλλ§μ λ°μ΄ν° μ λ¬
λͺ¨λΈμ μΆκ°λ λ°μ΄ν°λ λ·° ν
νλ¦Ώ(μ: Thymeleaf, JSP)μμ μ κ·Ό κ°λ₯νλ©°, μ΄λ₯Ό ν΅ν΄ ν΄λΌμ΄μΈνΈμκ² λμ μΌλ‘ μμ±λ HTMLμ λ°νν μ μμ΅λλ€.
3οΈβ£ μ¬μ© μμ.
@Controller
public class HomeController {
@GetMapping ( "/home" )
public String home ( Model model ) {
// λͺ¨λΈμ λ°μ΄ν°λ₯Ό μΆκ°
model . addAttribute ( "message" , "Welcome to the Home Page!" );
model . addAttribute ( "date" , LocalDate . now ());
// "home"μ΄λΌλ λ·° μ΄λ¦μ λ°ν
return "home" ;
}
}
μ μ½λμμ home()
λ©μλλ /home
URLλ‘ GET μμ²μ΄ λ€μ΄μ€λ©΄ μ€νλ©λλ€.
Model
κ°μ²΄λ₯Ό μ¬μ©νμ¬ "message"
μ "date"
λΌλ λ κ°μ μμ±μ μΆκ°ν©λλ€.
μ΄ μμ±λ€μ βhomeβμ΄λΌλ λ·°(μ: home.html
λλ home.jsp
)μμ μ¬μ©λ©λλ€.
4οΈβ£ λ·°μμμ μ¬μ© μμ(Thymeleaf)
<!DOCTYPE html>
<html xmlns:th= "http://www.thymeleaf.org" >
<head>
<title> Home Page</title>
</head>
<body>
<h1 th:text= "${message}" > Default Message</h1>
<p> Today's date is: <span th:text= "${date}" > 01/01/2024</span></p>
</body>
</html>
μμ Thymeleaf ν
νλ¦Ώμμ ${message}
μ ${date}
λ 컨νΈλ‘€λ¬μμ addAttribute()
λ₯Ό ν΅ν΄ μΆκ°λ λ°μ΄ν°λ₯Ό λνλ
λλ€.
컨νΈλ‘€λ¬μμ μ 곡ν "Welcome to the Home Page!"
μ νμ¬ λ μ§κ° λ·°μ λ λλ§λ©λλ€.
5οΈβ£ .addAttribute()
μ λ€μν μ¬μ© λ°©λ².
1. ν€μ κ° μμΌλ‘ μ¬μ©
κ°μ₯ κΈ°λ³Έμ μΈ μ¬μ© λ°©λ²μΌλ‘, 첫 λ²μ§Έ μΈμλ‘ μμ±μ μ΄λ¦μ, λ λ²μ§Έ μΈμλ‘ μμ±μ κ°μ μ§μ ν©λλ€.
model . addAttribute ( "username" , "JohnDoe" );
2. ν€ μμ΄ κ°λ§ μ λ¬
ν€λ₯Ό μλ΅νκ³ κ°λ§ μ λ¬ν μλ μμ΅λλ€.
μ΄ κ²½μ° Springμ μ λ¬λ κ°μ²΄μ ν΄λμ€ μ΄λ¦μ κΈ°λ³Έ ν€λ‘ μ¬μ©ν©λλ€.(첫 κΈμλ μλ¬Έμλ‘).
User user = new User ( "John" , "Doe" );
model . addAttribute ( user );
// "user"λΌλ ν€λ‘ λͺ¨λΈμ μΆκ°λ©λλ€.
3. 체μ΄λ(Chaining)
addAttribute()
λ λ©μλ 체μ΄λμ΄ κ°λ₯νμ¬, μ¬λ¬ κ°μ μμ±μ ν λ²μ μΆκ°ν μ μμ΅λλ€.
model . addAttribute ( "name" , "Jane" )
. addAttribute ( "age" , 30 )
. addAttribute ( "city" , "New York" );
.addAttribute()
λ Spring MVCμμ 컨νΈλ‘€λ¬μ λ·° μ¬μ΄μ λ°μ΄ν°λ₯Ό μ λ¬νλ μ€μν μν μ νλ©°, λμ μΈ μΉ μ ν리μΌμ΄μ
κ°λ°μ νμμ μΈ μμμ
λλ€.