inblog logo
|
강재영 블로그
    springboot

    16.mustache

    강재영's avatar
    강재영
    Aug 19, 2024
    16.mustache
    Contents
    1.application.properties 설정2.문법 controller
     
    💡
    Mustache는 다양한 프로그래밍 언어와 플랫폼에서 사용할 수 있는 논리적이지 않은 템플릿 시스템입니다. Mustache 템플릿은 "논리적이지 않다"는 점에서 특이한데, 이 말은 템플릿 안에서 조건문이나 반복문 같은 논리 연산을 수행하지 않고, 단순히 데이터를 템플릿에 삽입하는 역할만 한다는 것을 의미합니다. Mustache는 HTML, XML, JSON, YAML 등 다양한 텍스트 형식에 사용될 수 있습니다. 즉 jsp jstl 과 다르게 연산을 할 수 없으므로 자바에서 모든 구조를 만들고 mustache로 넘겨야한다.
     

    1.application.properties 설정

    spring.mustache.servlet.expose-request-attributes=true spring.mustache.servlet.expose-session-attributes=true
    기본적으로 mustache는 서버의 request객체나 session객체에 접근이 불가능하기에 프로퍼티에 접근이 가능하도록 등록해야한다.
     

    2.문법 controller

    //GET, POST @GetMapping("/board") public String list(HttpServletRequest request) { // model 이 Httpservletrequest이다. List<Board> boardList = boardRepository.findAll(); request.setAttribute("models", boardList); HttpSession session = request.getSession(); session.setAttribute("num", 1); return "board/list"; }
    boardList정보를 request객체에 저장을 하엿고 이를 models라고 했다.
    또한 session에 num이라는 키값으로 숫자 1을 저장을 했다.
     
     

    3.문법 mustache파일

    {{>layout/header}} <div class="container p-5"> <h1>{{num}}</h1> {{#models}} <div class="card mb-3"> <div class="card-body"> <h4 class="card-title mb-3">{{title}}</h4> <a href="/board/{{id}}" class="btn btn-primary">상세보기</a> </div> </div> {{/models}} </div> {{>layout/footer}}
    {{}}안에 키값만으로 접근이 가능하면
    반복문을 쓰기 위해서는 {{#키값}} {{/키값}}을 통해서 사용이 가능하다.
    Share article
    Contents
    1.application.properties 설정2.문법 controller

    강재영 블로그

    RSS·Powered by Inblog