본문 바로가기
🍃 𝗦𝗽𝗿𝗶𝗻𝗴 𝗕𝗼𝗼𝘁

스프링부트, MVC 패턴 View의 역할과 생성

by 비타민찌 2021. 8. 4.
728x90

Spring Boot 🍃

View(뷰)의 역할과 생성

Thymeleaf

MVC 패턴은 애플리케이션의 역할을 모델(Model), 뷰(View), 컨트롤러(controller)로 나누어, 이들 사이 상호작용을 통제하는 아키텍처 패턴이다. 이번 포스팅에서는 View의 역할과 생성 방법을 알아본다.

컨트롤러에 대한 포스팅 링크

📍 View (뷰)

뷰는 사용자가 보는 화면,

컨트롤러가 사용자에게 보내주는 것에 해당한다.

그러나 뷰를 만들 수 있는 것은 여러가지가 있다.

전통적으로는 html, jsp.

그리고 '템플릿엔진'이다.

'템플릿엔진' 이란?

템플릿엔진이란, 동적 컨텐츠를 생성하는 방법이다.

view만 만드는데 사용하는 것이 아니다.

여러 가지 용도(code generation, email 등)로 사용할 수 있는데, 주로 사용하는 기능이 view를 만드는 것이다.

기본적인 템플릿은 같은데 거기 들어가는 값들만 경우에 따라 달라진다.

그래서 정적인 컨텐츠를 생성할 수 없고, 동적으로 컨텐츠를 생성해서 제공해줘야한다.

스프링 부트가 자동 설정을 지원하는 템플릿 엔진이 4 가지 있다.

- FreeMarker

- Groovy

- Thymeleaf

- Mustache

우리는 스프링 공식 사이트의 추천대로, Thymeleaf를 사용한다.

먼저 타임리프를 프로젝트에 추가하자.

아래와 같이 그래들 폴더에 한 줄을 추가하고, 우측의 코끼리 아이콘🐘을 눌러준다.

implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'

* 해당 포스팅의 실습에서 라이브러리가 없으면 templates 폴더에서 html을 찾지 못해 404에러가 나기 때문에, 타입리프 라이브러리를 추가했다. 타임리프 문법은 차차 프로젝트 진행을 하며 따로 정리할 예정이다.

View 생성 (Thymeleaf 라이브러리 추가)

그럼 컨트롤러의 두번째 역할, View를 반환한다-에서

반환해줄 뷰를 만들어보자.

resources 아래의 templates 아래 test라는 폴더를 만들고, 실습에 필요한 ex1 등의 html 파일을 생성한다.

그리고 컨트롤러에는 다음과 같이 두 개의 메서드를 만들어 준다.

두 개의 메서드는 각각 다음과 같다.

1. 반환이 없는 void 타입

2. 문자열을 반환하는 String 타입

프로젝트 실행 후, 첫번째 메서드 먼저 보자.

GetMapping의 URI 값에 적어둔 /ex1 에 해당하는 파일을 찾아 사용자에게 반환한다.

두번째 메서드는 return 값인 "/test/ex3.html"에 해당하는 파일을 찾아 사용자에게 반환한다.

 

 

 

728x90

댓글