
728x90
뷰 탬플릿(View Templates)
만약 사용자 수에 따라 수많은 웹페이지를 만들어 낸다면 사용자가 가입할 때마다 새로운 페이지를 만들어야 해서 상당히 고통스러울 것이다. 이러한 괴로움으로부터 벗어나기 위한 기술이 뷰 탬플릿이다.
뷰 탬플릿이란 화면을 담당하는 기술이다. 웹페이지를 하나의 틀로 만들고 이곳에 변수를 삽입하게 한다. 다시 말해 틀이 되는 페이지가 변수의 값에 따라서 수많은 페이지로 바뀔 수 있다는 것이다.
MVC 패턴
MVC패턴이란, 일종의 역할 분담이다. 프로그램에서 데이터는 모델(Model), 화면은 뷰(View),
처리는 컨트롤러(Controller) 가 나누어 담당한다.
이러한 역할 분담인 MVC 패턴, 이는 OOP(객체지향프로그래밍)과도 연관이 있다. 객체별 역할을 나누면, 보다 깔끔한
코드 작성 및 관리에 좋다.
컨트롤러
1) 파일생성 : FirstController
2) 코드작성
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") //URL 요청 연결
public String niceToMeetYou() {
return "greetings"; //templates 안에 greetings.mustache 찾아서 브라우저로 전송!
}
}
뷰
3) 파일 생성 (여기선 mustache를 이용)
4) 코드 작성
<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>
<h1>{{username}}님 반갑습니다.</h1>
</body>
</html>
모델 객체
5) 데이터를 뷰로 전달
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") //URL 요청 연결
public String niceToMeetYou(Model model) {
model.addAttribute("username", "홍길동"); //username을 키 "홍길동"을 value로 생각하면 편하다
return "greetings"; //templates 안에 greetings.mustache 찾아서 브라우저로 전송!
}
}
결과 확인
6) 브라우저 접속
(위 내용은 홍팍의 스프링 강의를 보고 정리한 글입니다)
'Spring' 카테고리의 다른 글
JPA 레포지토리, DB에 저장하기 (0) | 2021.07.20 |
---|---|
폼 (form) 데이터 주고 받기 (0) | 2021.07.16 |
뷰 레이아웃 (0) | 2021.07.16 |
정적컨텐츠 (0) | 2021.07.13 |
Gradle 라이브러리 및 View 환경설정 (0) | 2021.07.12 |