[E-3-1] 머스태쉬 설치 및 기본 페이지 작성

2020. 1. 31. 10:35Project E/Project E 파트3

반응형

머스테쉬 : 여러 언어들을 지원하는 가장 심플한 템플릿 엔진

 

https://mustache.github.io/

 

{{ mustache }}

Logic-less templates. Available in Ruby, JavaScript, Python, Erlang, Elixir, PHP, Perl, Perl6, Objective-C, Java, C#/.NET, Android, C++, CFEngine, Go, Lua, ooc, ActionScript, ColdFusion, Scala, Clojure[Script], Fantom, CoffeeScript, D, Haskell, XQuery, ASP

mustache.github.io

 

템플릿 엔진은 가능한 로직을 없애고 화면 역할에만 충실해야한다.

 


머스태쉬 플러그인 설치

 

플러그인 : [Ctrl + Shift + A]  > plugins 검색 : mustache 

설치 후 적용 후 재시작

 


기본 페이지 작성

 

머스태쉬 스타터 의존성 등록 : build.gradle

 

더보기
buildscript {
    ext {
        springBootVersion = '2.1.7.RELEASE'
    }
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group 'com.minokuma.book'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.projectlombok:lombok')
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('com.h2database:h2')
    compile('org.springframework.boot:spring-boot-starter-mustache')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

 

그레이들 새로고침 반영


머스태쉬 기본파일 작성

 

머스태쉬 기본파일 위치

src/main/resources/templates

 

src/main/resources/templates

index.mustache

더보기
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>스프링 부트 웹서비스</title>
</head>
<body>
    <h1>스프링 부트로 시작하는 웹 서비스</h1>
</body>
</html>

 


인덱스 컨트롤러

 

src/main/java

com.minokuma.book.springboot

web

IndexController.java

 

더보기
package com.minokuma.book.springboot.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class IndexController {

    @GetMapping("/")
    public String index(){
        return "index";
    }
}

 


테스트 실행 결과

 

 


메인 코드 실행

 

Application.java

main()

 

 


실행결과

 

반응형

'Project E > Project E 파트3' 카테고리의 다른 글

[E-3-5] 게시글 삭제  (0) 2020.02.01
[E-3-4] 게시글 수정 화면 생성  (0) 2020.02.01
[E-3-3] 전체 조회 화면  (0) 2020.02.01
[E-3-2] 게시글 등록 화면  (0) 2020.01.31