Notice
Recent Posts
Recent Comments
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

모델 추가하기 본문

Spring/게시판 만들기

모델 추가하기

빌드이너프 2023. 9. 9. 17:40

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