충분히 쌓여가는
모델 추가하기 본문
enough 이름 부분을 다른 이름으로 바꾸고 싶다면 mustache 문법을 사용해 view template 페이지에 변수를 삽입한다
변수 명을 적고 두 겹의 중괄호({{ }})를 감싼다
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h2>{{username}}님, 반갑습니다</h2>
</body>
</html>
모델은 컨트롤러의 메서드에서 매개변수로 받아온다
FirstController의 niceToMeetYou() 메서드에 Model 타입의 model 매개변수를 추가한다
niceToMeetYou() 메서드 내부에 model.addAttribute("username", "이너프"); 코드를 추가한다
"username"이라는 이름을 등록하고 "이너프"라는 값을 넣어 준 것
package com.example.firstproject.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class FirstController {
@GetMapping("/hi")
public String niceToMeetYou(Model model) {
model.addAttribute("username", "이너프");
return "greetings";
}
}
서버 재시작
변수값을 바꿔도 잘 출력된다
package com.example.firstproject.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class FirstController {
@GetMapping("/hi")
public String niceToMeetYou(Model model) {
model.addAttribute("username", "빌드");
return "greetings";
}
}
정리
Controller가 클라이언트의 요청을 받고,
View가 최종 페이지를 만들고
Model이 최종 페이지에 쓰일 데이터를 View에 전달한다
/hi 페이지의 실행 흐름
View Template 페이지에서 사용할 변수(username)는 모델을 통해 등록하고 메서드의 반환값으로 greetings.mustache 파일을 반환한다
package com.example.firstproject.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller // 파일이 컨트롤러임을 선언
public class FirstController {
@GetMapping("/hi") // 클라이언트로부터 "/hi"라는 요청을 받아 접수
// "/hi"라는 요청을 받음과 동시에 niceToMeetYou() 메서드 수행
public String niceToMeetYou(Model model) { // 모델 객체를 매개변수로 가져옴
model.addAttribute("username", "빌드"); // 모델에서 사용할 변수 등록
return "greetings"; // View Template 페이지 반환
}
}
'Spring > 게시판 만들기' 카테고리의 다른 글
부스트스랩 사용 (0) | 2023.09.09 |
---|---|
localhost:8080/bye 페이지 만들기 (0) | 2023.09.09 |
view template 페이지 만들기 (0) | 2023.09.09 |
Hello World! 출력하기 (0) | 2023.09.09 |
스프링 부트 프로젝트 만들기 (0) | 2023.09.09 |