🌱 Mission : MVC 패턴을 활용한, 템플릿 페이지를 만드시오.
🌱 뷰 템플릿의 필요성과 머스테치
- 웹페이지의 변수를 활용하는 뷰 템플릿과 분야별 담당자를 나누는 MVC 패턴
- 사용자 수마다 생성되는 페이지 ? → 화면을 담당하는 기술인 뷰 템플릿을 통해 극복
- 뷰 템플릿 : 웹 페이지를 하나의 틀로 만들고 변수를 삽입해 틀이 되는 페이지가 변수의 값에 따라서 수많은 페이지로 변화
- 스프링 부트의 머스테치 (Mustache) : 뷰 템플릿을 만드는 도구
- 뷰 템플릿에는 처리 과정을 담당하는 Controller와 데이터를 관리하는 Model가 존재
- MVC 패턴 : 화면, 처리, 데이터를 각 담당자 별로 나누는 기법
🌱 뷰 템플릿의 위치
- 프로젝트명 - src - main - resources - templates 에 greeting.mustache 생성
🌱 머스테치 플러그인 설치
- 머스테치 : 뷰 템플릿을 만들어주는 도구, 뷰 템플릿 엔진
- Help - Find Action - plugins 검색 - Marketplace에 mustache 검색 후 Install
🌱 뷰 페이지 작성
- greeting.mustache 생성 (mustache ≒ html)
🌱 컨트롤러 만들기
- 프로젝트명 - src - main - java - 기본 패키지 - 'controller' package 생성 -' FirstController' Java Class 생성
- 컨트롤러를 통해 뷰 템플릿 페이지를 반환하도록 작성
- 컨트롤러 선언 : @Controller
- 응답 페이지 설정 : return "페이지명"; → 페이지명의 파일을 찾아서 브라우저로 전송
- URL 요청 연결 : @GetMapping
- 서버 재시작 : 변경 코드 반영
- 메인 메소드 실행
- localhost:8080/hi 접근
- 뷰 템플릿 페이지인 greeting.mustache 가 나오게 된 것을 확인 가능
🌱 페이지에 변수 삽입 + 템플릿 변수를 활용하기 위해 모델을 사용하기
- 여러 가지 변수를 통해 값을 변화시키고 싶음 → mustache 문법 사용
- {{variable}} : 뷰 페이지에 변수 삽입 → 뷰 페이지가 템플릿화
- Controller에 Model 받아오기 : 파라미터에 추가
- Model을 통해 변수 등록 : addAttribute() → model 객체가 홍팍이라는 값을 username에 연결시켜서 보내주는 것
- 서버 재시작 : 변경 코드 반영
🌱 전체 흐름 요약
참조 사이트
'Java-Spring > 스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글
[Spring Boot] 01장. 인텔리제이로 스프링 부트 시작하기 (0) | 2021.10.02 |
---|---|
[Spring Boot] 00장. MVC의 역할과 실행 흐름 (0) | 2021.10.01 |
[Spring Boot] 00장. 웹 서비스의 동작 원리 (0) | 2021.10.01 |
[Spring Boot] 00장. MVC 웹 프레임워크가 뭔가요? (0) | 2021.10.01 |
[Spring Boot] 00장. REST API가 뭔가요? (0) | 2021.10.01 |