티스토리 뷰
반응형
템플릿 엔진
지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어
서버 템플릿 엔진과 클라이언트 템플릿 엔진
서버 템플릿 엔진은 서버에서 구동된다. 서버 템플릿 엔진을 이용한 화면 생성 방식은 다음과 같다.
- 서버에서 Java 코드로 문자열을 만듦
- 문자열을 HTML로 변환
- HTML을 브라우저로 전달
자바스크립트 코드는 브라우저 위에서 작동한다. 따라서 React.js나 Vue.js가 포함되는 클라이언트 템플릿은 브라우저에서 화면을 생성한다. 브라우저 위에서 작동을 하기 서버 템플릿이 제어할 수가 없다.
💡 SPA (Single Page Application)
서버로부터 완전한 새로운 페이지를 불러오지 않고
현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션이나 웹사이트
서버에서는 Json 혹은 Xml 형식의 데이터만 전달하고 클라이언트에서 조립
머스테치
많은 언어들을 지원하는 심플한 템플릿 엔진
머스테치는 스프링 부트에서 공식 지원하는 템플릿 엔진이다.
build.gradle에 머스테치 스타터 의존성 등록
compile('org.springframework.boot:spring-boot-starter-mustache')
위 내용을 build.gradle에 dependencies에 추가하면 된다.
머스테치는 파일 위치는 기본적으로 src/main/resources/templates이다. 이 위치에 머스테치 파일을 추가하면 스프링 부트에서 자동으로 로딩한다.
<!DOCTYPE HTML>
<html>
<head>
<title>스프링 부트 웹서비스 </title>
<meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" />
</head>
<body>
<h1>스프링 부트로 시작하는 웹 서비스</h1>
</body>
</html>
index.mustache 이름으로 templates 아래에 파일을 추가한다.
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class IndexController {
@GetMapping("/")
public String index() {
return "index";
}
}
Controller에서 머스테치를 URL을 매핑한다.
머스테치 스타터가 컨트롤러에서 문자열을 반환할 때 앞의 경로와 뒤의 파일 확장자를 자동으로 지정해준다.
View Resolver는 src/main/resources/templates/index.mustache를 처리한다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- git
- graphql
- 코틀린
- postman
- 주생성자
- 2차 인터뷰
- Kotlin In Action
- DGS Framework
- 확장 함수
- hashcode
- postman collection
- 1차 인터뷰
- 코딩테스트
- Squash and merge
- Basic Type
- string
- Python
- postman tests
- 네이버 2022 공채
- Kotlin
- python3
- squash merge
- java
- pm.test
- go 특징
- downTo
- solidity
- mysql
- pm.expect
- github
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함